数据库基本概念学习笔记

1.数据库是什么

数据库是按照数据结构来组织、存储和管理数据的仓库,它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合。

1.1数据库的组成部分

数据:是数据库中存储的基本对象,包括文字、数字、图像、声音等各种类型。例如,一个电商数据库中存储的商品信息、用户信息、订单信息等都是数据。

数据库管理系统(DBMS):是用于管理数据库的软件系统,它负责对数据库进行统一的管理和控制,包括数据的定义、操作、维护等功能。常见的数据库管理系统有 MySQL、Oracle、SQL Server 等。

数据库应用程序:是指使用数据库的各种应用程序,如电商网站、银行系统、企业管理系统等。这些应用程序通过数据库管理系统提供的接口来访问和操作数据库中的数据,以实现各种业务功能。

1.2数据库的主要特点

数据结构化:数据库中的数据按照一定的结构进行组织和存储,这种结构通常由数据库管理系统定义和管理。例如,在关系型数据库中,数据以表格的形式进行存储,每个表格包含若干行和列,行表示记录,列表示字段,通过定义表格之间的关系,可以实现数据的关联和查询。

数据共享性高:数据库中的数据可以被多个用户或应用程序共享使用,提高了数据的利用率和一致性。例如,一个企业的不同部门可以共享同一个数据库中的客户信息、产品信息等,避免了数据的重复存储和不一致性。

数据独立性强:数据库中的数据与应用程序之间具有一定的独立性,即数据的存储结构和逻辑结构的改变不会影响应用程序的正常运行。这使得数据库系统具有较好的可扩展性和可维护性。

数据安全性高:数据库管理系统提供了一系列的安全机制,如用户认证、授权、数据加密等,以确保数据库中的数据不被非法访问和篡改。

1.3数据库的作用

数据存储和管理:数据库可以将大量的数据按照一定的结构进行存储和管理,方便用户对数据进行查询、插入、删除、修改等操作。例如,一个图书馆可以使用数据库来存储图书信息、读者信息、借阅记录等,方便管理员对图书馆的日常管理和读者对图书的查询借阅。

支持决策制定:通过对数据库中的数据进行分析和挖掘,可以为企业的决策制定提供有力的支持。例如,企业可以通过分析销售数据来了解市场需求和客户行为,从而制定更加合理的生产计划和营销策略。

促进信息共享和交流:数据库可以实现不同用户和应用程序之间的数据共享和交流,提高工作效率和协同能力。例如,在一个企业内部,不同部门可以通过共享数据库中的信息来更好地协同工作,提高企业的整体运营效率。

1.4常见的数据库类型

关系型数据库:是目前应用最广泛的数据库类型,它以表格的形式存储数据,通过表格之间的关系来实现数据的关联和查询。常见的关系型数据库有 MySQL、Oracle、SQL Server 等。

非关系型数据库:也称为 NoSQL 数据库,它不依赖于固定的表格结构来存储数据,而是采用更加灵活的数据模型,如键值对、文档、图形等。常见的非关系型数据库有 Redis、MongoDB、Cassandra 等。

分布式数据库:是指将数据分散存储在多个节点上的数据库系统,它可以通过网络连接多个节点,实现数据的分布式存储和处理。分布式数据库具有高可用性、高扩展性和高性能等优点,适用于大规模数据存储和处理的场景。

2.RDBMS

RDBMS 即关系型数据库管理系统(Relational Database Management System),是一种基于关系模型的数据库管理系统。

核心:用表存储数据

表头有多个字段名,代表每一列数据的含义

一行一行的数据

每一行数据有多个字段值

表包含多行数据

一个数据库中可以存多个表

2.1关系模型基础

数据结构:以表格形式表示数据,每一行代表一条记录,每一列代表一个属性或字段。例如,一个学生信息表可能包含学号、姓名、年龄、性别等列,每行记录对应一个学生的具体信息。

关系操作:支持多种关系操作,如选择、投影、连接等。选择操作可从表中筛选出符合特定条件的记录,如查询年龄大于 20 岁的学生;投影操作能选取表中的某些列,如只查看学生的姓名和学号;连接操作则可根据共同属性将多个表关联起来,如通过学生的学号将学生表和成绩表关联查询。

完整性约束:包括实体完整性、参照完整性和用户定义完整性。实体完整性确保表中每行记录的主键唯一且不为空;参照完整性保证表间关联字段的一致性,防止出现无效关联;用户定义完整性则由用户根据具体业务规则定义特定的约束条件,如成绩的取值范围等。

2.2RDBMS 的主要功能

数据定义:允许用户定义数据库的结构,包括创建、修改和删除表、视图、索引等数据库对象。例如,使用 CREATE TABLE 语句创建新表,指定表名、列名、数据类型及约束条件等。

数据操纵:提供对数据的插入、查询、更新和删除操作。如 INSERT 语句用于插入新记录,SELECT 语句用于查询数据,UPDATE 语句用于修改已有记录,DELETE 语句用于删除记录。

数据控制:实现对数据库的访问控制和安全管理,包括用户认证、授权和权限管理等功能。管理员可创建不同用户账号,并为其分配不同的数据库操作权限,确保数据的安全性和完整性。

数据维护:负责数据库的备份、恢复、性能优化等维护工作。定期备份数据库可防止数据丢失,通过性能优化措施如索引优化、查询优化等可提高数据库的运行效率。

2.3常见的 RDBMS 产品

MySQL:开源免费的 RDBMS,广泛应用于中小型企业和互联网应用开发。具有性能高、成本低、安装配置简单等优点,如 WordPress 等众多知名网站都采用 MySQL 作为后端数据库。

Oracle:功能强大、稳定性高的商业 RDBMS,常用于大型企业关键业务系统。提供了丰富的企业级功能和强大的性能优化能力,如金融、电信等对数据安全和稳定性要求极高的行业常采用 Oracle 数据库。

SQL Server:微软推出的 RDBMS,与 Windows 操作系统紧密集成,具有良好的易用性和扩展性。适用于基于 Windows 平台的企业级应用开发,如企业资源规划(ERP)系统、客户关系管理(CRM)系统等。

3.SQL(Structured Query Language)

结构化查询语言

在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库

sql语言主要分为:.

DQL:数据查询语言,用于对数据进行查询,如select

DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete

TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback

DCL:数据控制语言,进行授权与权限回收,如grant、revoke

DDL:数据定义语言,进行数据库、表的管理等,如create、drop

CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor。

对于测试工程师来讲、重点是数据的查询,需要熟练编写DQL,其它语言如TPL、DCL、CCL了解即可

SQL是一门特殊的语言,专门用来操作关系数据库

不区分大小写

4.MySQL

MySQL是一个关系型数据库管理系统,由瑞典MYSQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于racle旗下产品。

特点

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBSD、0S/2 Wrap、Solaris等

为多种编程语言提供了API,如C、C++、Python、Java、Perl、PHP、Eiffel、Ruby等支持多线程,充分利用CPU资源

优化的SQL查询算法,有效地提高查询速度

提供多语言支持,常见的编码如GB2312、BIG5、UTF8

提供TCP/IP、ODBC和JDBC等多种数据库连接途径

提供用于管理、检查、优化数据库操作的管理工具

大型的数据库。可以处理拥有上千万条记录的大型数据库

支持多种存储引擎

MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库

MySQL使用标准的SQL数据语言形式

开源 免费 支持多平台

 简单总结为以下:

数据库概述

数据库是按数据结构组织、存储和管理数据的仓库,是长期存储在计算机内有组织、可共享、统一管理的数据集合。其组成包括数据、数据库管理系统(DBMS)及数据库应用程序。具有数据结构化、共享性高、独立性强、安全性高等特点,作用体现在数据存储管理、支持决策制定以及促进信息共享交流等方面。常见类型有:关系型数据库、非关系型数据库、分布式数据库。

关系型数据库管理系统(RDBMS)

基于关系模型,用表存储数据,涵盖表头字段、多行数据等。关系模型基础涉及数据结构、关系操作及完整性约束。主要功能包含数据定义、操纵、控制与维护。常见产品有 MySQL、Oracle、SQL Server 等,各有其应用优势及适用场景。

SQL(结构化查询语言)

是用于在数据库中操作的语言,适用于关系型数据库,主要分为 DQL(数据查询语言)、DML(数据操作语言)、TPL(事务处理语言)、DCL(数据控制语言)、DDL(数据定义语言)、CCL(指针控制语言),测试工程师需重点掌握 DQL。

MySQL

是关系型数据库管理系统,由瑞典公司开发,后历经收购现属 Oracle 旗下。具备诸多特点,如用 C 和 C++ 编写保证可移植性,支持多操作系统、多编程语言、多线程,有优化的查询算法、多语言支持、多种数据库连接途径,还提供管理工具,分为社区版和商业版,因体积小、速度快、成本低且开源免费等优势,常被中小型网站开发选用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/474205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT学术专用版,一键润色纠错+中英互译+批量翻译PDF

ChatGPT academic项目是由中科院团队基于ChatGPT专属定制。论文润色、语法检查、中英互译、代码解释等可一键搞定,堪称科研神器。 功能介绍 我们以3.5版本为例,ChatGPT学术版总共分为五个区域:输入控制区、输出对话区、基础功能区、函数插件…

fpga 同步fifo

FIFO 基础知识 FIFO(First In First Out,即先入先出),是一种数据缓存器,用来实现数据先入先出 的读写方式。在 FPGA 或者 ASIC 中使用到的 FIFO 一般指的是对数据的存储具有先入先出 特性的缓存器,常被用于…

模式:每个服务一个数据库

Pattern: Database per service。 背景 如用微服务架构模式开发一个在线商店应用程序。大多数服务需要在某种数据库中持久化数据。如,订单服务存储订单信息,而客户服务存储客户信息。 问题 微服务应用程序中的数据库架构是什么? 驱动力…

Java 全栈知识体系

包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 数据库原理, MySQL, ElasticSearch, MongoDB, Docker, k8s, CI&CD, Linux, DevOps, 分布式, 中间件, 开发工具, Git, IDE, 源码阅读,读书笔记, 开源项目...

WebRTC实现双端音视频聊天(Vue3 + SpringBoot)

目录 概述 相关概念 双端连接整体实现步骤概述 文章代码实现注意点 STUN和TURN服务器的搭建 开发过程描述 后端开发流程 前端开发流程 效果演示 Gitee源码地址 概述 文章描述使用WebRTC技术实现一对一音视频通话。 由于设备摄像头限制(一台电脑作测试无法…

机器学习3

六、朴素贝叶斯分类 背景知识:第三大点的第4点:概率 基础定义_数学概率中事件的定义-CSDN博客 1、条件概率 𝑃(𝐴|𝐵)𝑃(𝐴∩𝐵)/𝑃(𝐵) :A事件在…

SpringBoot Data Redis连接Redis-Cluster集群

使用SpringBoot Data Redis无法连接Redis-Cluster集群 最近在研究系统高并发下的缓存架构,因此自己在自己买的云服务器上搭建好Redis 5.0 版本的集群后,使用springboot的 RedisTemplate连接是发现总是访问不到集群节点。上网百度了发现没有好的解决办法&…

网页作业9

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>服务中心</title><style>* {margin:…

基于yolov8、yolov5的行人检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要&#xff1a;行人检测在交通管理、智能监控和公共安全中起着至关重要的作用&#xff0c;不仅能帮助相关部门实时监控人群动态&#xff0c;还为自动化监控系统提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的行人检测模型&#xff0c;该模型使用了…

递归(3)----力扣40组合数2,力扣473火柴拼正方形

给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6,1…

1Panel 推送 SSL 证书到阿里云、腾讯云

本文首发于 Anyeの小站&#xff0c;点击链接 访问原文体验更佳 前言 都用 CDN 了还在乎那点 1 年证书钱么&#xff1f; 开句玩笑话&#xff0c;按照 Apple 的说法&#xff0c;证书有效期不该超过 45 天。那么证书有效期的缩短意味着要更频繁地更新证书。对于我这样的“裸奔”…

通过shell脚本分析部署nginx网络服务

通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 [rootlocalhost xzy]# vim 1.sh [rootlocalhost xzy]# chmod x 1.sh [rootlocalhost xzy]# ./1.sh2.判断服务是否安装 已安装&#xff1b;自定义网站配置路径为/www&#xff1b;并创建共享目录和网页文件&…

tcp 超时计时器

在 TCP&#xff08;传输控制协议&#xff09;中有以下四种重要的计时器&#xff1a; 重传计时器&#xff08;Retransmission Timer&#xff09; 作用&#xff1a;用于处理数据包丢失的情况。当发送方发送一个数据段后&#xff0c;就会启动重传计时器。如果在计时器超时之前没有…

华为云租户网络-用的是隧道技术

1.验证租户网络是vxlan 2.验证用OVS 2.1控制节点VXLAN 本端ip&#xff08;local ip&#xff09;192.168.31.8 2.2计算节点VXLAN 本端ip&#xff08;local ip&#xff09;192.168.31.11 计算节点用的是bond0做隧道网络 2.3查看bond文件是否主备模式

【AI+教育】一些记录@2024.11.11

《清华发布工具学习框架&#xff0c;让ChatGPT操控地图、股票查询&#xff0c;贾维斯已来&#xff1f;》 清华发布工具学习框架&#xff0c;让ChatGPT操控地图、股票查询&#xff0c;贾维斯已来&#xff1f;工具学习&#xff0c;清华天团让 ChatGPT 拿起专业工具https://mp.we…

day-17 反转字符串中的单词

利用split()函数和substring函数 code: class Solution {public String reverseWords(String s) {int m0;while(s.charAt(m) ){m;}ss.substring(m);String arr[]s.split("[\\s]");int narr.length;String ss"";for(int in-1;i>1;i--){ssssarr[i]"…

台式电脑没有声音怎么办?台式电脑没有声音解决详解

台式电脑一般来说都是没有内置扬声器的&#xff0c;需要连接耳机或者是音响才可以播放音乐。那么如果遇到台式电脑没有声音的问题&#xff0c;我们也需要确认这些设备硬件有没问题&#xff0c;知道原因才可以进行处理。下面本文将为你介绍台式电脑没有声音的可能原因和解决方法…

一文速学---红黑树

文章目录 一、红黑树简介二、 红黑树特性三、红黑树插入3.1 红黑树为空3.2 父节点为黑色3.3 父节点为红色3.3.1 父亲和叔叔都是红色3.3.2 父节点为红色&#xff0c;叔叔节点为黑色3.3.2.1 父节点在左节点&#xff0c;插入节点在父亲左节点3.3.2.2 父节点在左节点&#xff0c;插…

gitlab容器的迁移(部署)并配置自动备份

gitlab容器的迁移&#xff08;部署&#xff09;并配置自动备份 本文背景为从Ubuntu服务器上迁移gitlab容器到windows并备份&#xff0c;若要直接拉取镜直接安装配置可直接从第二小标题参考 1、原Ubuntu的gitlab容器制作为镜像 2.1 将运行的容器制为镜像 #镜像&#xff1a;i…

Linux:调试器-gdb/cgdb

文章目录 一、编译成debug1、-g 选项 二、gdb调试命令1、在CentOS系统下检查安装gdb2、进入gdb模式3、quit 退出gdb4、list &#xff08;简写 l&#xff09;显示文件内容5、b 打断点6、 r / run运行程序7、c 让程序直接运行完 三、cgdb1、info b查看打的所有断点2、d 删除断点3…