数据库系统概论第五章——完整性控制.ppt
《数据库系统概论第五章——完整性控制.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论第五章——完整性控制.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 数据库完整性5.1 概述概述1、定义数据的正确性,有效性和相容性。(防止不符合语义的数据的I/O)2、功能1)完整性要求定义;2)监督事务执行,测试是否违反完整性限制条件;3)若发生违反情况,则进行相应处理(拒绝、报告、纠正)。5.2 完整性约束条件完整性约束条件1、基本概念 定义施加于DB中数据之上的语义限制条件 约束对象列级、元组级、关系级1 约束对象状态静态:反映DB状态合理性的约束。动态:反映DB状态变迁的约束。约束时机(Immediate constraints)(1)立即约束一条语句执行完后立即检查。(2)延迟约束(deferred constrants)事务执行结束后检查
2、。转帐,从A到B后,帐才能平,才能进行检查。2、静态列级约束对一个列的取值域的约束。数据类型约束类型、长度、单位、精度如XM为C型,长8位;YL为I型,长3位。数据格式约束如工作证号前2位表示省,后3位表示县,后4位表示单位顺序号,后5位表示个人顺序号。2 值域约束CJ100,YL150,XB=男,女 空值约束是否允许空值列。如CJ可为空。其它约束(如:列的排序、组合列等等)3、静态元组约束对一个(仅一个)元组中各列值间联系的约束。如:总额单价工龄年龄4、静态关系约束对一个关系中若干元组之间或若干关系的联系的约束。实体完整性约束;参照完整性约束;函数依赖约束;统计约束;如:职工最低工资不能低于
3、本部门职工平均工资的50%。35、动态列级约束修改列定义或列值时的约束。修改定义约束修改定义时新老值间的约束。如:将允许空值列改为不允许空值时,若该列值已有空值,则不可修改。修改值约束修改时新旧值间的约束。如年龄不能修改得更小。6、动态元组约束修改元组时新旧值间的约束。7、动态关系约束施加于关系上的前后状态的约束 一致性 原子性 45.3 完整性控制完整性控制1、实体完整性(、实体完整性(entity integrity)对关系模式主属性施加的完整性控制。不允许空;例:student(XH,XM,XB,YL)XH不能为空course(KH,KM)KH不能为空Sc(XH,KH,CJ)XH,(XH
4、,KH不能为空Create table student(XH,Char(6)NOT NULL,);2、参照完整性(参照完整性(referential integrity)对外码施加的完整性控制。参照关系:外码所在关系,如SC被参照关系:主码(同时又是另一关系中的外码)所在关系,如student,course.外码:SC中的XH,KH51)空值情况 为空(SC中XH为空,表示无这个学生,或无学号学生选修了课程,不合应用语义),或;对应被参照关系中该元组存在;是否可为空,据应用语义确定。DEPT(DH,DM,DD)EMPL(DH,EH,XM)EMPL中DH可为空,表示该职员还未分配到任何部门工作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 第五 完整性 控制
限制150内