【数据库系统原理与设计】(一)数据库系统概论

一. 数据库系统概论
(本章主要是理论,可考前抱佛脚)
1.1 数据库系统的作用
1.1.1 数据与数据管理
1. 数据:描述事物的符号记录
可以用二维表格结构来表达逻辑的称为 结构化数据 (表)
对应着有 非结构化数据 (文档、文本、图片、视音频、HTML ...)
和介于他们之间的 半结构化数据(XML文档、数据混内容等)
2. 数据管理
1.1.2 数据管理技术的产生与发展
1. 人工管理阶段:一个程序管一个数据集,易数据冗余
2. 文件系统阶段:技术成熟了但没完全成熟,有”按文件名访问,按记录存取“的管理技术,但数据共享性差、独立性差、获取困难
3. 数据库管理系统阶段:数据库管理系统(Database Management System,DBMS)
♦ 特点:① 数据结构化
② 数据共享度高、冗余度低、易扩充
③ 数据独立性高(物理独立性、逻辑独立性)
④ 数据由数据库管理系统统一管理控制(安全性保护、完整性检查、并发控制、数据库恢复)
1.1.3 数据库应用
嗯,应用很广...
1.2 数据模型
1.2.1 数据模型的分层
分为3层:
1. 概念模型:是现实世界的第一层抽象,用于数据库设计
( 实体-联系模型 E-R模型 , 面向对象模型 OO模型 )
2. 逻辑模型:是数据抽象的中间层,用于描述数据库数据的整体逻辑结构
( 层次模型 , 网状模型 , 关系模型;面向对象模型 , XML模型; 对象关系模型 )
3. 物理模型:是数据抽象的最低层,用来描述数据的物理存储结构和存取方法
( 物理数据模型 )
1.2.2 数据模型的组成要素
1. 数据结构:是对系统静态特性的描述,是所描述的对象类型的集合
2. 数据操作:主要有 查询 和 更新(含插入、删除、修改) 两大类操作
3. 数据完整性约束:包括 数据结构完整性规则 和 数据操作完整性规则
1.2.3 层次模型
1. 用树状结构来表示各类实体及实体间的联系
2. 满足如下两个条件:
① 有且仅有一个 根结点 没有双亲结点;
② 根以外的其他结点有且只有一个双亲节点。
3. 缺点:
① 表示多对多联系时,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决;
② 对插入、删除的限制较多,编写复杂;
③ 查询孩子结点必须通过双亲结点;
④ 结构严密,层次命令趋于程序化。
1.2.4 网状模型
1. 网状数据模型的典型代表是DBTG系统(CODASYL系统)
2. 满足如下两个条件:
① 允许一个以上的 结点 无双亲;
② 一个结点可以有多个双亲。
3. 缺点:
① 结构复杂,且越用越复杂;
② 操作语言也复杂。
1.2.5 关系模型
1. 关系数据模型的数据结构:
① 关系(Relation):一个关系对应一张二维表(关系名)
② 元组(Tuple):表中一行为一个元组
③ 属性(Attribute):表中一列为一个属性(属性名)
④ 码(Key):可以唯一地标识表中某个属性或属性组
⑤ 域(Domain):属性的取值范围
⑥ 分量(Component):元组中的一个属性值
⑦ 外码(Foreign Key):用来描述元组间关系的表中某个属性或属性组
⑧ 关系模式(Relational Schema):一般形式为 关系名(属性名1,属性名2,...,属性名n)
2. 关系数据模型的操作与完整性约束:
-
数据操作:查询、更新(插入、删除、修改)
-
数据完整性约束:实体完整性、参照完整性、用户自定义完整性
3. 关系数据模型的优缺点
1.3 数据抽象与数据库三级模式
1.3.1 数据抽象
物理层 >> 逻辑层 >> 视图层
1.3.2 数据库三级模式结构及两层映像
1. 数据库的三级模式结构:指数据库管理系统提供的外模式、内模式、模式,3个不同抽象级别观察数据库中数据的角度
- 内模式:存储模式,对应物理层数据抽象;
- 模式:逻辑模式,对应逻辑层数据抽象;
- 外模式:子模式/用户模式,对应视图层数据抽象。
2. 数据库的两层映像与数据独立性
- 为了能够在DBMS内部实现上述3个抽象层次的联系和转换,DBMS在这三级模式间提供了两层映像:
- 外模式 / 模式映像
- 模式 / 内模式映像
- 设计数据库模式结构时,应首先确定数据库的逻辑模式
1.3.3 数据库三级模式与三层模型的联系与区别
三级模式是DBMS的体系结构;三层模型是数据库设计的工具和方法
1.4 数据库系统
数据库系统(Database System,DBS):是计算机系统中引入数据库后的系统
1.4.1 数据库系统组成
1. 数据库中包含4类数据:
- 用户数据:结构化关系(二维表)组织的所有业务数据集合;
- 元数据(数据字典):描述数据、统计数据;
- 索引:加强访问性的附加数据;
- 应用元数据:是用户窗体、报表、查询和其他形式的应用组件。
1.4.2 数据库管理系统(DBMS)
1. DBMS 的功能:
- 数据定义
- 数据组织、存储、管理
- 数据操纵
- 数据库的事务管理和运行管理
- 数据库的建立和维护
- 其他功能(通信...)
2. DBMS 的组成:
3. DBMS 的查询处理器
- 查询处理器是 DBMS 中的一个部件集合,它将用户的查询和更新命令转换为数据库上的操作序列,并执行
4. DBMS 的存储管理器
- DBMS 直接控制磁盘存储器
- 存储管理器负责将 SQL 的多元组操作转化为底层的单元组操作
5. DBMS 的事务管理系统
- 事务被正确执行时的 ACID 特性是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
- 封锁管理、事务管理、日志管理
1.4.3 数据库系统的相关人员
1. 开发、管理、使用数据库系统的人员主要有:
- 数据库管理员(DBA)
- 系统分析员和数据库设计人员
- 应用程序员
- 用户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!