DB TeachingPlan 数据库系统概论--系统篇.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态的列级、元组、关系约束 静态的列级约束是对一个列的取值域的说明,包括以下几个方面: 对数据类型的约束、对数据格式的约束、对取值范围或取值集合的约束、对空值的约束及其他约束等。 静态元组约束是规定元组的各个列之间的约束关系。 静态关系约束反映了在一个关系的各个元组之间或者若干关系之间存在的各种联系或约束等。常见的静态关系约束有: 实体完整性约束、参照完整性约束、函数依赖约束、统计约束。 动态的列级、元组、关系约束 动态列级约束是修改列定义或列值时应满足的约束条件。主要包括: 修改列定义时的约束、修改列值时的约束。 动态元组约束是指修改元组的值时元组中各个字段间需要满足的某种约束条件。 动态关系约束是加在关系变化前后状态上的限制条件,如事务一致性、原子性等约束条件。 10.2 完整性控制 DBMS的完整性控制机制应具有三个方面的功能: 定义功能:提供定义完整性约束条件的机制; 检查功能:检查用户发出的操作请求是否违背了完整性约束条件。 如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 一个完善的完整性控制机制应该允许用户定义所有这六类完整性约束条件。 在关系系统中,最重要的完整性约束是实体完整性和参照完整性,其他完整性约束条件则可以归入用户定义的完整性。 下面,我们讨论实现参照完整性要考虑的几个问题。 实现参照完整性需要考虑的几个问题 1、外码能否接受空值? 2、在被参照关系中删除元组的问题; 一般地,当删除被参照关系的某个元组,而参照关系存在若干元组,其外码与被参照关系删除元组的主码值相同,这时有三种不同的策略:级联删除、受限删除、置空值删除。可以根据应用环境确定不同的策略。 3、在参照关系中插入元组时的问题; 一般地,当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可以有以下策略:受限插入、递归插入。 4、修改关系中主码的问题; 这种情况,通常包括:不允许修改主码和允许修改主码的情况。 10.3 Oracle的完整性 该部分留给同学们自学。 10.4 小结 略 Chapter 10 is over Thanks for all!!! 第十一章 数据库管理系统 这一章的内容, 留给同学们自学。 Course is over 《数据库系统概论》课程中的重点内容,我们已经在前续章节中讲过,至此,该门课程基本结束,我们将在课程的最后,利用Visual C++和SQL Server2000,开发一个简单的实例,并向同学们逐一演示,希望能够对同学们有所帮助。 请参考数据库系统概论——实例篇 可串行化调度 DEF: 多个事务的并发执行是正确的,当且仅当其结果与按照某一次序串行地执行它们时的结果相同,那么我们就称这种调度策略是可串行化地调度。 可串行性是并发事务正确性的准则。 一个给定的并发调度当且仅当它是可串行化的,才认为是正确调度。 可串行化的例子 关于可串行化的并发事务调度的实例,请同学们参考教材P272-P273。(留给同学们自学) 结论:判断某个并发事务的调度策略是否是正确的,可以将该并发调度的结果与某一个串行化执行的结果相比较,如果相同,则该并发调度策略是正确的。 DBMS保证调度正确的策略 为了保证并发操作的正确性,DBMS的并发控制机制必须提供一定的手段来保证调度是可串行化的。 从理论上讲,在某一事务执行时禁止其他事务执行的调度策略一定是可串行化的调度,这是最简单的调度策略。但实际上是不可取的。因为用户不能充分的共享数据库资源。所以,DBMS必须能够提供某种策略来实现并发操作调度的可串行性,从而保证调度的正确性。 两段锁协议就是保证并发调度可串行化的封锁协议。当然,还有其他一些方法,如时标方法等。 8.6 两段锁协议 两段锁协议指的是:所有事务必须分两个阶段对数据项加锁和解锁。这两个阶段分别是: (1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; (2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。 对两段锁协议的理解 “两段”锁是指:事务在锁的处理上分为两个阶段: 第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档