深入理解 RDBMS | 青训营笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
简介
RDBMS全称为Relational Database Management System(关系型数据库管理系统)。RDBMS是SQL 以及所有现代数据库系统(如 MS SQL Server、IBM DB2、Oracle、MySQL 和 Microsoft Access)的基础。
关系数据库管理系统 (RDBMS) 是基于 E.F. Codd 引入的关系模型的数据库管理系统 (DBMS)。
ACID
数据库中的事务就是一组原子行的 SQL 查询,或者说一个独立的工作但愿。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。
ACID 表示原子性(atomicity)、一致性(consistency)、隔离行(isolation)和持久性(durability)。一个运行良好的事务处理系统,必须具备这些特征。
一个实现了 ACID 的数据库,相比于没有实现 ACID 的数据库,通常需要更强的 CPU,更大的内存,更多的存储空间。所以对于一些不需要事务支持的查询类型应用,选择一个非事务型的存储引擎,是可以获得更高的性能的。
-
A,automicity 原子性
即,一个不可分割的最小单元。
-
C,consistency 一致性
总是从一种状态到另一种状态,没有第三种状态。
-
I,isolation 隔离性
一个事务再提交之前,对其他事务是不可见的。即不同的事务之间相互之间不影响。
-
D,durability 持久性
事务一旦提交,就会永久生效。
发展历史
数据库发展最初过程中,诞生过3种数据模型,最终关系型模型成为了应用最为广泛的数据库模型。
- 网状模型:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。
- 层次模型:层次数据模型是用树状<层次>结构来组织数据的数据模型。
- 关系模型:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。
| 网状模型 | 层次模型 | 关系模型 | |
|---|---|---|---|
| 优势 | 能直接描述现实世界 存取效率较高 | 结构简单 查询效率高 可以提供较好的完整性支持 | 实体及实体间的的联系都通过二维表结构表示 可以方便的表示M:N关系 数据访问路径对用户透明 |
| 劣势 | 结构复杂 用户不易使用 访问程序设计复杂 | 无法表示M:N的关系 插入、删除限制多 遍历子节点必须经过父节点 访问程序设计复杂 | 关联查询效率不够高 关 |