• 1.45 MB
  • 2023-01-02 12:30:05 发布

最新大班数学课件-5的组成与分解ppt课件.ppt

  • 21页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
大班数学课件-5的组成与分解 数一数:5 541514按大小分: 541541532532523523514514按颜色分: 5的组成41 5的组成32 5的组成23 5的组成14 练习:551414 练习:552323 小朋友们再见! 7.3.1 数据库并发控制的含义7.3.2 事务7.3.3 并发控制的必要性7.3.4 基于封锁的并发控制技术7.3.5 基于时间戳的并发控制技术7.3 数据库的并发控制 数据库系统一般可分为单用户系统和多用户系统两种。在任何一个时刻只允许一个用户使用的数据库系统称为单用户数据库系统,允许多个用户同时使用的数据库系统称为多用户数据库系统。数据库的最大特点之一就是数据资源共享,因而多数数据库系统都是多用户系统,这样就会发生多个用户并发存取同一数据块的情况,如果对并发操作不加控制就可能产生不正确的数据,破坏数据库的完整性,并发控制就是解决这类问题,以保持数据库中数据的一致性。7.3.1数据库并发控制的含义 事务(Transaction)是一个逻辑工作单元,是指数据库系统中一组对数据的操作序列。一个事务可以是一条或一组SQL语句、或整个应用程序。在SQL语言中,定义事务的语句有以下三条:BEGINTRANSACTIONCOMMITROLLBACK事务具备的以下几个基本特征又称为其应遵循的ACID准则:(1)原子性(Atomicity)。一个事务要么全部执行,要么全不执行,不允许仅完成部分事务。(2)一致性(Consistency)。事务的正确执行应使数据库从一个一致性状态变为另一个一致性状态。数据一致性指数据应满足的约束条件。(3)隔离性(Isolation)。多个事务的并发执行是独立的,在事务未结束前,其他事务不能存取该事务的中间结果数据。(4)持久性(Durability)。事务提交后,系统应保证事务执行的结果可靠地存放在数据库中,不会因为故障而丢失。7.3.2事务 同一数据库系统中往往有多个事务并发执行,如果不进行控制,就会产生数据的不一致性。1.丢失更新2.脏读3.不可重读7.3.3并发控制的必要性 基于封锁的并发控制思想是:事务对数据操作前必须获得对该数据的锁,完成操作后在适当时候释放锁,当得不到锁时事务将处于等待状态。锁是数据项上的并发控制标志,它有两种类型:共享锁(SharedLock,简称S锁)和排它锁(ExclusiveLock,简称X锁)。1.封锁协议系统中的事务在加锁和释放锁时,都必须遵守一组规则,这组规则称为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。前面论及的丢失更新、脏读和不可重读等数据不一致问题,可以通过三级封锁协议在不同程度上得到解决。2.封锁粒度封锁粒度是指封锁的数据对象的大小。7.3.4基于封锁的并发控制技术 3.死锁。一个事务如果申请锁未获准,则须等待其他事务释放锁,这就形成了事务之间的等待关系。当事务中出现循环等待时,如果不加干预,就会一直等待下去,这种状态称为死锁。基于封锁的并发控制技术需要解决死锁问题,即如何检测、处理和预防死锁。(1)死锁的检测和处理死锁检测的方法一般有以下两种:①超时法。如果一个事务的等待时间超过某时限,则认为发生死锁。②等待图法。等待图是一个有向图,其成图规则是:如果事务T1需要的数据已经被事务T2封锁,就从T1到T2画一条有向线。有向图中出现回路即表明出现了死锁。发现死锁后,靠事务本身无法打破死锁,必须由数据库管理系统进行干预。数据库管理系统对死锁一般采用如下策略:①在循环等待的事务中,选择一个事务作为牺牲者,给其他事务“让路”。②回滚牺牲的事务,释放其获得的锁及其他资源。③将释放的锁让给等待它的事务。选取牺牲事务的方法有以下几种:①选择最迟交付的事务作为牺牲者。②选择获得锁最少的事务作为牺牲者。③选择回滚代价最小的事务作为牺牲者。(2)死锁的预防检测死锁需要一定的开销,因此要尽量避免死锁的发生。数据库系统中预防死锁常用的方法有以下两种:①一次加锁法。一次加锁法是在事务执行前,对要使用的所有数据对象依次加锁并要求加锁成功,只要一个加锁不成功,即表示本次加锁失败,立即释放所有加锁成功的数据对象,然后重新开始加锁。②顺序加锁法。顺序加锁法是对所有可能封锁的数据对象按序编号,规定一个加锁顺序,每个事务都按此顺序加锁,释放时则按逆序进行。7.3.4基于封锁的并发控制技术 为了区别事务开始执行的先后,每个事务在开始执行时,都由系统赋予一个唯一的、随时间增长的整数,称为时间戳(TimeStamp,简称TS)。设有两个事务T1和T2,如果TS(T1)