数据库系统原理第五章完整性控制精品文稿.ppt





《数据库系统原理第五章完整性控制精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理第五章完整性控制精品文稿.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统原理第五章完整性控制1第1页,本讲稿共19页 约束对象状态静态:反映DB状态合理性的约束。动态:反映DB状态变迁的约束。约束时机(Immediate constraints)(1)立即约束一条语句执行完后立即检查。(2)延迟约束(deferred constraints)事务执行结束后检查。转帐,从A到B后,帐才能平,才能进行检查。2、静态列级约束对一个列的取值域的约束。数据类型约束类型、长度、单位、精度如XM为C型,长8位;YL为I型,长3位。数据格式约束如工作证号前2位表示省,后3位表示县,后4位表示单位顺序号,后5位表示个人顺序号。2第2页,本讲稿共19页 值域约束CJ100,
2、NL150,XB=男,女 空值约束是否允许空值列。如CJ可为空。其它约束(如:列的排序、是否唯一等等)3、静态元组约束对一个(仅一个)元组中各列值间联系的约束。如:总额单价工龄年龄4、静态关系约束对一个关系中若干元组之间或若干关系的联系的约束。实体完整性约束;参照完整性约束;函数依赖约束;统计约束;如:职工最低工资不能低于本部门职工平均工资的50%。3第3页,本讲稿共19页5、动态列级约束修改列定义或列值时的约束。修改定义约束修改定义时新老值间的约束。如:将允许空值列改为不允许空值时,若该列值已有空值,则不可修改。修改值约束修改时新旧值间的约束。如年龄不能修改得更小。6、动态元组约束修改元组时
3、新旧值间的约束。例如新工资不低于原工资+工龄*1.5。7、动态关系约束施加于关系上的前后状态的约束 一致性 原子性 4第4页,本讲稿共19页5.3 完整性控制完整性控制1、实体完整性(、实体完整性(entity integrity)对关系模式主属性施加的完整性控制。不允许空,在关系中取值唯一例:student(XH,XM,XB,YL)XH不能为空且唯一course(KH,KM)KH不能为空且唯一Sc(XH,KH,CJ)(XH,KH)不能为空且唯一Create table student(XH,Char(6)NOT NULL,);2、参照完整性(、参照完整性(referential integr
4、ity)对外码施加的完整性控制。(回忆第二章定义)参照关系:外码所在关系,如SC被参照关系:主码(同时又是另一关系中的外码)所在关系,如student,course。外码:sc中的XH,KH5第5页,本讲稿共19页1)空值情况 为空(SC中XH为空,表示无这个学生,或无学号学生选修了课程,不合应用语义),或;对应被参照关系中该元组存在;是否可为空,据应用语义确定。DEPT(DH,DM,DD)EMPL(DH,EH,XM)EMPL中DH可为空,表示该职员还未分配到任何部门工作。2)删除被参照关系元组情况 捆绑删除(cascades)参照与被参照关系中相关者一起删除。被参照关系中外码元组删除例如:删
5、除99001号学生(或者01号课程)删去student中XH=99001的元组 (删去course中KH=01的元组)则捆绑删除SC中学号为99001(课号为01)的所有元组参照关系中与被参照关系中码值对应元组删除6第6页,本讲稿共19页可能层层牵连如:若SC又是另一参照关系的被参照关系,则可能又删除之。受限删除(restricted)参照关系没有一个外码与要删除的被参照关系的主码值相对应时才执行删除。例如:若SC中外码值XH,无一个与主码值(Student.XH,course.KH)对应时才删去student、course中相应元组。置空值删除(nullifies/set null)删去被参
6、照关系中元组;参照关系中所有与被参照关系中已删去的主码值相等的外码值置为空值。如:删去部门表中的某个部门,则职员表中原来属于该部门的职员的所属部门号置空。7第7页,本讲稿共19页 说明上述三种,选择哪一种实施,视应用需求确定。如:学籍管理中,学生毕业了,删去选课及学生信息,故需捆绑删除(course不删)student信息。DBMS提供相应选择机制。3)修改被参照关系主码值情况 捆绑修改(cascades)修改被参照关系中主码值。如修改student中的XH=99003改为XH=99020同时修改参照关系中相等外码值。如:同时SC中所有99003改为99020可能逐层牵连。8第8页,本讲稿共1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 第五 完整性 控制 精品 文稿

限制150内