数据库保护技术(并发).ppt
《数据库保护技术(并发).ppt》由会员分享,可在线阅读,更多相关《数据库保护技术(并发).ppt(51页珍藏版)》请在三一办公上搜索。
1、An Introduction to Database System,江苏科技大学,数据库系统概论An Introduction to Database System第八章 数据库保护技术,An Introduction to Database System,第四章 数据库安全性,8.1 数据库的安全性及SQL Server的安全管理 8.2 数据库完整性及SQL Server的完整性控制8.3 数据库并发控制及SQL Server并发控制8.4 数据库恢复技术与SQL Server数据恢复机制,An Introduction to Database System,问题的产生,多用户数据库系统
2、的存在 允许多个用户同时使用的数据库系统飞机定票数据库系统银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个,An Introduction to Database System,问题的产生(续),不同的多事务执行方式(1)事务串行执行每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行不能充分利用系统资源,发挥数据库共享资源的特点,T1,T2,T3,事务的串行执行方式,An Introduction to Database System,问题的产生(续),(2)交叉并发方式(Interleaved Concurrency)在单处理机系统中,事务的并行执行是这些并行事务的
3、并行操作轮流交叉运行单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理机的空闲时间,提高系统的效率,An Introduction to Database System,问题的产生(续),事务的交叉并发执行方式,An Introduction to Database System,问题的产生(续),(3)同时并发方式(simultaneous concurrency)多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行,An Introduction to Database System,问题的产生(续),事务并发执行带来的问题会产生
4、多个事务同时存取同一数据的情况 可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性数据库的并发控制:控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。,An Introduction to Database System,8.3 数据库并发控制及SQL Server并发控制,8.3.1 事务及并发控制的基本概念8.3.2 封锁及封锁协议8.3.3 封锁出现的问题及解决方法8.3.4 SQLServer的并发控制(了解,不考核),An Introduction to Database System,8.3.1 事务及并发控制的基本概念,1、事务的概念和
5、特征2、事务并发操作可能产生的数据不一致的问题,An Introduction to Database System,1、事务的概念和特征,1.事务的概念事务:是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。一个程序中可以包含多个事务在SQL语言中,定义事务的语句有三条:BEGIN TRANSACTION;COMMIT;ROLLBACK;,An Introduction to Database System,1、事务的概念和特征,定义方式:BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2
6、 SQL 语句2。COMMIT ROLLBACK,提交,回滚,An Introduction to Database System,1、事务的概念和特征(续),2.事务的ACID特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)事务处理的主要任务:保证事务的ACID特性,An Introduction to Database System,1、事务的概念和特征(续),3、事务特性遭破坏的原因1)多个事务并行运行时,不同事务的交叉执行(隔离性)2)事务在运行过程中被强制终止(原子性、一致性)并发控制任务保证事务的隔离性,确
7、保数据库的一致性。数据库恢复任务保证事务的原子性、一致性。,An Introduction to Database System,8.3.1 事务及并发控制的基本概念,1、事务的概念和特征2、事务并发操作可能产生的数据不一致的问题,An Introduction to Database System,T1的修改被T2覆盖了!,2、事务并发操作可能产生的数据不一致的问题,例飞机订票系统中的一个活动序列 甲售票点(甲事务)读出某航班的机票余额A,设A=20;乙售票点(乙事务)读出同一航班的机票余额A,也为20;甲售票点卖出一张机票,修改余额AA-1,所以A为19,把A写回数据库;乙售票点也卖出一张
8、机票,修改余额AA-1,所以A为19,把A写回数据库 结果明明卖出两张机票,数据库中机票余额只减少1这种情况称为数据库的不一致性,是由并发操作引起的。(隔离性),An Introduction to Database System,并发操作时,甲、乙两个事务的操作序列的调度是随机的。并发操作带来的数据不一致性,主要包括:丢失修改(Lost Update)不可重复读(Non-repeatable Read)读“脏”数据(Dirty Read),2、事务并发操作可能产生的数据不一致的问题,An Introduction to Database System,1.丢失修改,两个事务T1和T2读入同一
9、数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失。上面飞机订票例子就属此类,An Introduction to Database System,丢失修改(续),丢失修改,R(A)=16,An Introduction to Database System,2.不可重复读,不可重复读是指:事务T1读取数据后,事务T2 执行更新操作,使T1无法再现前一次读取结果。,An Introduction to Database System,不可重复读(续),不可重复读包括三种情况:(1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值,A
10、n Introduction to Database System,不可重复读(续),T1读取B=100进行运算T2读取同一数据B,对其进行修改后将B=200写回数据库。T1为了对读取值校对重读B,B已为200,与第一次读取值不一致,不可重复读,例如:,An Introduction to Database System,不可重复读(续),(2)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录消失了(3)事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 保护 技术 并发

链接地址:https://www.31ppt.com/p-5985470.html