【16】深入理解RDBMS | 青训营笔记

37 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第16天。

RDBMS事务

事务(Transaction):是由一组SQL语句组成的一个程序执行单元(Unit),它需要满足ACID特性。

ACID:

原子性(Atomicity):

事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。

两个操作要么同时成功,要么同时失败,不存在中间状态。

一致性(Consistency):

数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。

每个操作都必须是合法的,账户信息应该从一个有效的状态变为另一个有效的状态。

隔离性(Isolation):

多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。

两个操作在对同一个账户并发进行操作时,应该是相互不影响,表现的像是串行操作。

持久性(Durability):

在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

操作更新成功之后,更新的结果应该永久性的保留下来,不会因为宕机等问题而丢失。

高并发 Concurrency

高可靠/高可用 High Reliability/Availability

发展历史

前DBMS时代

人工管理

文件系统

DBMS时代

.网状模型层次模型关系模型
优势能直接描述现实世界结构简单实体及实体间的联系都通过二维表结构表示
.存取效率较高查询效率高可以方便的表示M:N关系
..可以提供较好的完整性支持数据访问路径对用户透明
劣势结构复杂无法表示M:N的关系关联查询效率不够高
.用户不易使用插入、删除限制多关系必须规范化
.访问程序设计复杂遍历子节点必须经过父节点.
..访问程序设计复杂.

SQL语言

语法风格接近自然语言。

高度非过程化。

面向集合的操作方式。

语言简洁,易学易用。