1、第 4章数据库管理系统引论2009. 10Last update: Oct.2009 1Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论目录 Contentsn 4.1 数据库管理系统结构简介n 4.2 事务n 4.3 DBMS的进程结构n 4.4 DBMS的系统结构n 4.5 数据目录 (字典 )Last update: Oct.2009 2Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系
2、统引论4.1 数据库管理系统结构简介n DBMS是数据库系统的核心, 对数据库系统的功能和性能有决定性影响。n DBMS的最基本的功能是正确、安全、可靠地执行数据库语言的语句。因此, DBMS可以看成数据库语言的一个实现。n DBMS分为 编译和解释 两种实现方法。Last update: Oct.2009 3Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论解释执行的 RDBMS结构查询处理器存储管理器 事务管理器Last update: Oct.2009 4Lecture Notes -
3、 Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论目录 Contentsn 4.1 数据库管理系统结构简介n 4.2 事务n 4.3 DBMS的进程结构n 4.4 DBMS的系统结构n 4.5 数据目录 (字典 )Last update: Oct.2009 5Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论4.2 事务n 一、事务的概念n 事务 (Transaction): 是 DBMS的(最小、完整的)执行单位,它
4、由某个用户所执行的一个不能被打断的对数据库的操作序列( SQL语句)组成,且必须满足 ACID性质 。n 事务 是应用程序访问数据库的 基本逻辑工作单位。n 事务 通常由一组对于数据库的访问操作组成,在执行过程中 按照预定的次序顺序执行。n 一个 事务 的执行过程是串行的, 它将数据库从一个 旧的一致性 状态转换到一个 新的一致性 状态。在 事务 的执行过程中,数据库中的数据可能有不一致的现象,但 在 事务 执行结束时,系统将保证数据库中数据的一致性。Last update: Oct.2009 6Lecture Notes - Principles of Databases Systems.
5、By Zhuoming Xu 第 1部分 数据库系统引论4.2 事务n 例 银行的转帐业务:根据输入的两个银行存款帐号 A和 B, 以及转帐金额 X, 将帐号 A的金额减去 X, 帐号 B的金额增加 X。 其处理过程如下(其中 READ(A)表示将帐号 A的金额读入内存变量 A, WRITE(A) 表示将内存变量 A的值作为帐号 A的金额写入数据库):READ(A);IF (A X)THEN BEGINA := A X;WRITE(A);READ(B);B := B + X;WRITE(B);END 该事务的 DB访问操作为:READ(A);WRITE(A);READ(B);WRITE(B);
6、对该事务而言,数据库中数据的 一致性就是指: 帐号 A和帐号 B的总金额之和不变Last update: Oct.2009 7Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论4.2 事务n 二、事务的性质n 原子性 (Atomicity): 在一个事务中,所有的数据库访问操作是一个不可分割的操作序列, 事务中的操作 要么全做要么全不做 (nothing or all)n e.g. 从 ATM机取款时, “发钱登记 ”与 “扣款 ”操作必须组成原子的事务。n n 一致性 (Consisten
7、cy): 事务在功能上必须使 DB从一致状态 (consistent state)变成另一个一致状态。 即DB中的数据必须满足已定义的完整性约束和业务规则。n e.g. 银行 DB:某帐号上的收支之差应始终等于余额。Last update: Oct.2009 8Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论4.2 事务n 二、事务的性质 (cont.)n 隔离性 (Isolation): 多个事务并发执行时彼此不受影响,就好象各个事务独立执行一样。n e.g. 民航 DB:某航班就剩一张
8、机票,有两个客户同时提出购买请求,结果应是一个买到,一个买不到。n 持久性 (Durability): 事务一旦成功执行,其对 DB的影响应是持久的,即使 DB发生故障也应保留这个事务的执行结果。n e.g. 银行的存款数据应是持久的 。 q 数据库管理系统通过其 事务管理子系统 (含 并发控制 子系统)、 恢复管理 子系统、 数据完整性保护 子系统来实现事务的 原子性 (A)、 一致性 (C)、 隔离性 (I)和持久性 (D)。Last update: Oct.2009 9Lecture Notes - Principles of Databases Systems. By Zhuoming
9、 Xu 第 1部分 数据库系统引论4.2 事务n 三、事务的两种结束方式n 提交 (Commit):全做事务中的操作。n 回滚 (Rollback):全不做事务中的操作(部分已执行的操作要撤消)。n 提交和回滚可以是显式的、也可以是隐式的 :n 当发出 COMMIT语句 /ROLLBACK语句时 显式 提交 /回滚当前事务;n 当发出一个 DDL语句时,前后均 隐式 提交一个事务;n 当用户撤消对 DBMS的连接时,当前事务 隐式 提交;n 当用户进程异常中止时,当前事务隐式 回滚。Last update: Oct.2009 10Lecture Notes - Principles of Databases Systems. By Zhuoming Xu 第 1部分 数据库系统引论