第82章数据库保护技术并发.ppt
《第82章数据库保护技术并发.ppt》由会员分享,可在线阅读,更多相关《第82章数据库保护技术并发.ppt(47页珍藏版)》请在优知文库上搜索。
1、数据库系统概论数据库系统概论第八章第八章 数据库保护技术数据库保护技术第四章第四章 数据库安全性数据库安全性8.1 数据库的安全性及数据库的安全性及SQL Server的安全管理的安全管理 8.2 数据库完整性及数据库完整性及SQL Server的完整性控制的完整性控制8.3 数据库并发控制及数据库并发控制及SQL Server并发控制并发控制8.4 数据库恢复技术与数据库恢复技术与SQL Server数据恢复机制数据恢复机制问题的产生问题的产生v多用户数据库系统的存在 允许多个用户同时使用的数据库系统n飞机定票数据库系统n银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个 问题的产生
2、(续)问题的产生(续)v不同的多事务执行方式不同的多事务执行方式 (1 1)串行执行)串行执行(2 2)并发执行)并发执行(3)并行方式(多处理机)并行方式(多处理机)T1T2T3事务的串行执行方式问题的产生(续)问题的产生(续)v事务并发执行带来的问题事务并发执行带来的问题 多个事务多个事务同时存取同一数据同时存取同一数据的情况时,可能会的情况时,可能会存取和存存取和存储不正确储不正确的数据的数据v数据库的并发控制:数据库的并发控制:控制数据库,防止多用户并发使用数据库时造成数据错误和控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证程序运行错误,保证数据的完整性数据的完
3、整性。8.3 数据库并发控制及数据库并发控制及SQL Server并发控制并发控制8.3.1 8.3.1 事务及并发控制的基本概念事务及并发控制的基本概念8.3.2 8.3.2 封锁及封锁协议封锁及封锁协议8.3.3 8.3.3 封锁出现的问题及解决方法封锁出现的问题及解决方法8.3.4 SQLServer8.3.4 SQLServer的并发控制(了解,不考核)的并发控制(了解,不考核)8.3.1 事务及并发控制的基本概念v1、事务的概念和特征v2、事务并发操作可能产生的数据不一致的问题1、事务的概念和特征、事务的概念和特征v1.事务的概念事务的概念 事务:是用户定义的一个数据库操作序列,这些
4、操作要么全做要事务:是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。么全不做,是一个不可分割的工作单位。一个程序中可以包含多个事务一个程序中可以包含多个事务 在在SQLSQL语言中,定义事务的语句有三条:语言中,定义事务的语句有三条:BEGIN TRANSACTIONBEGIN TRANSACTION;COMMITCOMMIT;ROLLBACKROLLBACK;1、事务的概念和特征、事务的概念和特征v 定义方式:v BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。CO
5、MMIT ROLLBACK提交提交回滚回滚1、事务的概念和特征(续)、事务的概念和特征(续)v2.事务的事务的ACID特性特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)1、事务的概念和特征(续)、事务的概念和特征(续)v3、事务特性遭破坏的原因、事务特性遭破坏的原因 1 1)多个事务并发运行时,不同事务的交叉执行(隔离性)多个事务并发运行时,不同事务的交叉执行(隔离性)2 2)事务在运行过程中被强制终止(原子性、一致性)事务在运行过程中被强制终止(原子性、一致性)v 事务处理的两个工作:事务处理的两个工作:并发控制任
6、务(并发控制任务(8 8、3 3小节)小节)保证事务的隔离性,确保数据库的一致性。保证事务的隔离性,确保数据库的一致性。数据库恢复任务(数据库恢复任务(8 8、4 4小节)小节)保证事务的原子性、一致性。保证事务的原子性、一致性。8.3.1 事务及并发控制的基本概念v1、事务的概念和特征v2、事务并发操作可能产生的数据不一致的问题T1的修改被的修改被T2覆盖了!覆盖了!2、事务并发操作可能产生的数据不一致的问题、事务并发操作可能产生的数据不一致的问题 例例 飞机订票系统中的一个活动序列飞机订票系统中的一个活动序列 甲售票点甲售票点(甲事务甲事务)读出某航班的机票余额读出某航班的机票余额A A,
7、设,设A=20A=20;乙售票点乙售票点(乙事务乙事务)读出同一航班的机票余额读出同一航班的机票余额A A,也为,也为2020;甲售票点卖出一张机票,修改余额甲售票点卖出一张机票,修改余额AA-1AA-1,所以,所以A A为为1919,把,把A A写回写回数据库;数据库;乙售票点也卖出一张机票,修改余额乙售票点也卖出一张机票,修改余额AA-1AA-1,所以,所以A A为为1919,把,把A A写写回数据库回数据库 n 结果明明卖出两张机票,数据库中机票余额只减少结果明明卖出两张机票,数据库中机票余额只减少1 1v 这种情况称为数据库的不一致性,是由并发操作引起的。(隔离性)这种情况称为数据库的
8、不一致性,是由并发操作引起的。(隔离性)v 并发操作时,甲、乙两个事务的操作序列的调度是随机的。并发操作时,甲、乙两个事务的操作序列的调度是随机的。v 并发操作带来的数据不一致性,主要包括:并发操作带来的数据不一致性,主要包括:丢失修改(丢失修改(Lost UpdateLost Update)不可重复读(不可重复读(Non-repeatable ReadNon-repeatable Read)读读“脏脏”数据(数据(Dirty ReadDirty Read)2、事务并发操作可能产生的数据不一致的问题、事务并发操作可能产生的数据不一致的问题1).丢失修改丢失修改v两个事务T1和T2读入同一数据并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 82 数据库 保护 技术 并发
