第4章 数据库管理系统引论
DBMS是数据库系统的核心,对数据库系统的功能和性能有决定性影响。
DBMS分为编译和解释两种实现方法。
事务(Transaction):是DBMS的(最小、完整的)执行单位,它由某个用户所执行的一个不能被打断的对数据库的操作序列(SQL语句)组成,且必须满足ACID性质 。
原子性(Atomicity): 在一个事务中,所有的数据库访问操作是一个不可分割的操作序列,事务中的操作要么全做要么全不做(nothing or all)
一致性(Consistency): 事务在功能上必须使DB从一致状态(consistent state)变成另一个一致状态。即DB中的数据必须满足已定义的完整性约束和业务规则。
隔离性(Isolation): 多个事务并发执行时彼此不受影响,就好象各个事务独立执行一样。
持久性(Durability): 事务一旦成功执行,其对DB的影响应是持久的,即使DB发生故障也应保留这个事务的执行结果。
数据库管理系统通过其事务管理子系统(含并发控制子系统)、恢复管理子系统、数据完整性保护子系统来实现事务的原子性(A)、一致性(C)、隔离性(I)和持久性(D)。
事务的两种结束方式
提交(Commit):全做事务中的操作。
回滚(Rollback):全不做事务中的操作(部分已执行的操作要撤消)。
提交和回滚可以是显式的、也可以是隐式的:
当发出COMMIT语句/ROLLBACK语句时显式提交/回滚当前事务;
当发出一个DDL语句时,前后均隐式提交一个事务;
当用户撤消对DBMS的连接时,当前事务隐式提交;
当用户进程异常中止时,当前事务隐式回滚。
DBMS的进程结构
DBMS进程(DBMS Process):对应DBMS代码的一次动态执行。分为:
核心进程或服务器进程(Server Process)
后台进程(Background Process)
在Oracle中,将DBMS进程和系统全局区(System Global Area,SGA)称为一个Oracle实例(Instance)。
几种典型的进程结构实现方案
单进程结构 / 单用户结构 / 单用户Oracle
多进程结构 / 多用户结构 / 多用户Oracle
单核心进程、多线程的DBMS进程结构 / 使用共享服务器进程的结构
DBMS的系统结构
数据库系统的结构可按DB的特点来分类:
集中式数据库:数据集中存储;由DBMS集中管理