1 / 75
文档名称:

第8讲 数据库完整性.ppt

格式:ppt   页数:75页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第8讲 数据库完整性.ppt

上传人:xxj16588 2016/7/7 文件大小:0 KB

下载得到文件列表

第8讲 数据库完整性.ppt

相关文档

文档介绍

文档介绍:An Introduction to Database System 第8讲数据库完整性第8讲数据库完整性 事务 : 事务是一个操作序列。这些操作要么什么都做,要么都不做,是一个不可分割的工作单位。事务以 BEGIN TRANSACTION 语句开始,MIT( 提交)语句或 ROLLBACK( 回退或撤消)语句结束。 一个程序的执行可通过若干事务的执行序列来完成。 : 为保证数据库的完整性,事务必须具有下列四个性质: ( automicity ) 一个事务中对数据库的操作,是一个不可分割的整体。 ( consistency ) 数据不会因事务的执行而遭受破坏。 ( isolation ) 在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。 ( durability ) 一个事务一旦完成全部操作,它对数据库的所有更新应永久地反映在数据库中。 数据库的恢复 ? 系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态, DBMS 的这种能力称为数据库的可恢复性 1)事务故障 2)系统故障 8)介质故障 数据库的并发控制 : (1) 丢失更新的问题(2) 不一致分析问题(8) “脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。) X封锁的规则称为 PX 协议,其内容为: 任何企图更新记录 R的事务必须先执行 LOCK X(R) 操作,以获得对该记录进行寻址的能力,并对它取得 X封锁。如果未获得 X封锁,那么这个事务进入等待状态,一直到获准 X封锁,事务继续进行。 简记为:先锁 X,再执行,取不到, 就等待。 S封锁的规则称为 PS 协议:其内容为: 任何要更新记录 R的事务必须先执行 LOCK S(R) 操作,以获得对该记录寻址的能力并对它取得 S封锁。如果未获准 S封锁,那么这个事务进入等待状态,一直到获准 S封锁, 事务才继续进行下去。当事务获准对记录 R 的要封锁后,在记录 R修改前必须把 S封锁升级为 X封锁。 简记为:先锁 S,再执行,锁不到, 就等待,若要修改则升 X 。为什么需要完整性? 防止不符合用户“语义”的数据存入数据库中。例如: 表示一个人的年龄的字段 Age = -20 例如: 一名学生的学号为 NULL 例如:有一个 00000 学号的学生选了管理信息系统的课第8章数据库完整性?数据库的完整性是指数据的正确性、有效性和相容性,防止错误数据进入数据库,保证数据库中数据的质量。–正确性是指数据的合法性; –有效性是指数据是否属于所定义的有效范围; –相容性是指描述同一现实的数据应该相同。数据库中是否存在完整的数据关系到数据库系统能否真实地反映现实世界。它是衡量数据库中数据质量好坏的一种标志,是确保正确的数据被存放在正确的位置的一种手段。数据完整性种类根据数据完整性机制所作用的数据库对象和范围不同, 数据完整性可分:实体完整性域完整性引用完整性用户定义完整性