第五章管理事务和管理数据库 管理事务 管理数据库
1 第五章 管理事务和管理数据库 • 管理事务 • 管理数据库
事务的由来 使用 DELETE命令或 UPDATE命令对数据库进行更 新时,一次只能操作一个表,这会带来数据库的数据 不一致的问题。例如企业取消了后勤部,需要将后勤 部从 departmen表中删除,要修改 department表,而 employee表中的部门编号与后勤部相对应的员工也应 删除。因此,两个表都需要修改,这种修改只能通过 两条 DELETE语句进行。假设后勤部编号为1012 第一条 DELETE语句修改 department表 delete from department where dept id=’1012 第二条 DELETE语句修改 employee表 delete from employee where dept id =21012'2
2 事务的由来 • 使用DELETE 命令或UPDATE 命令对数据库进行更 新时,一次只能操作一个表,这会带来数据库的数据 不一致的问题。例如企业取消了后勤部,需要将后勤 部从department表中删除,要修改department 表,而 employee 表中的部门编号与后勤部相对应的员工也应 删除。因此,两个表都需要修改,这种修改只能通过 两条DELETE 语句进行。假设后勤部编号为1012 • 第一条DELETE 语句修改department 表 • delete from department • where dept_id = ’1012’ • 第二条DELETE 语句修改employee 表 • delete from employee where dept_id = ’1012’
在执行第一条 DELETE语句后,数据库中的数 据已处于不一致的状态。因为此时已经没有后 勤部了,但 employee表中仍然保存着属于后勤 部的员工记录;只有执行了第二条 DELETE语 句后,数据才重新处于一致状态。但是如果执 行完第一条语句后,计算机突然出现故障,无 法再继续执行第二条 DELETE语句,则数据库 中的数据将处于永远不一致的状态。因此必须 保证这两条 DELETE语句同时执行。为解决类 似的问题,数据库系统通常都引入了事务 Transaction的概念
3 • 在执行第一条DELETE 语句后,数据库中的数 据已处于不一致的状态。因为此时已经没有后 勤部了,但employee 表中仍然保存着属于后勤 部的员工记录;只有执行了第二条DELETE 语 句后,数据才重新处于一致状态。但是如果执 行完第一条语句后,计算机突然出现故障,无 法再继续执行第二条DELETE 语句,则数据库 中的数据将处于永远不一致的状态。因此必须 保证这两条DELETE 语句同时执行。为解决类 似的问题,数据库系统通常都引入了事务 Transaction 的概念
事务的概念及特性 事务:指作为单个逻辑工作单元执行的 系列操作,而这些逻辑工作单元需要 具有原子性,一致性,隔离性和持久性 四个属性,统称ACID特性。 ·原子性:指事务必须是原子工作单元, 即对于事务所进行数据修改,要么全都 执行,要么全都不执行
4 事务的概念及特性 • 事务:指作为单个逻辑工作单元执行的 一系列操作,而这些逻辑工作单元需要 具有原子性,一致性,隔离性和持久性 四个属性,统称ACID特性。 • 原子性:指事务必须是原子工作单元, 即对于事务所进行数据修改,要么全都 执行,要么全都不执行
致性:指事务在完成时,必须使所有 的数据都保持一致性状态,而且在相关 数据库中,所有规则都必须应用于事务 的修改,以保持所有数据的完整性。事 务结束时,所有的内部数据结构都必须 是正确的
5 • 一致性:指事务在完成时,必须使所有 的数据都保持一致性状态,而且在相关 数据库中,所有规则都必须应用于事务 的修改,以保持所有数据的完整性。事 务结束时,所有的内部数据结构都必须 是正确的