数据库系统概论第5章数据库完整性.ppt
《数据库系统概论第5章数据库完整性.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论第5章数据库完整性.ppt(27页珍藏版)》请在三一办公上搜索。
1、1,第5章 数据库完整性,5.1完整性约束条件5.2完整性控制,2,数据库的完整性,正确性相容性,数据库完整性的实现:(1)定义完整性约束条件(2)完整性检查(3)违约反应,10.1完整性约束条件,完整性约束条件作用的对象:关系 元组 列,列约束:是指列的类型、取值范围、精度、排序等约束.元组约束:是指元组中各个字段间的联系约束.关系约束:是指若干元组间、关系集合上以及关系之间的联系约束.,3,完整性约束条件作用对象的状态:静态 动态,静态约束:是指数据库每一确定状态时的数据对象所应满 足的约束条件,它是反映数据库状态合理性的约束.,动态约束:是指数据库从一种状态转变为另一种状态时,新、旧值之
2、间所满足的约束条件,它是反映数据库状 态变迁的约束.,完整性约束条件分类:,1:静态列级约束2:静态元组约束3:静态关系约束4:动态列级约束5:动态元组约束6:动态关系约束,4,一、静态列级约束,静态列级约束:是指对一个列的取值域的说明。,包括以下几个方面:(1)对数据类型的约束(数据的类型、长度、单位、精度等)(2)对数据格式的约束(3)对取值范围或取值集合的约束(4)对空值的约束(5)其他约束,二、动态列级约束,动态列级约束:是指修改列定义或列值时应满足的约束条件.,包括以下几个方面:(1)修改列定义时的约束(2)修改列值时的约束,5,三、静态元组约束,静态元组约束:是指元组的各个列之间的
3、约束关系.,四、动态元组级约束,动态元组级约束:是指修改元组的值时元组中各个列之间 的约束条件.,五、静态关系约束,静态关系约束:是指一个关系的各个元组之间或者若干关系 之间存在的约束条件.,包括以下几个方面:(1)实体完整性约束(2)参照完整性约束(3)函数依赖约束(4)统计约束,6,六、动态关系约束,动态关系约束:是指加在关系变化前后状态上的约束条件.,总结:,7,10.2完整性控制,完整性控制机制的功能:(1)定义功能(2)检查功能(3)如果发现用户的操作请求使数据违背了完整性约束 条件,则采取一定的动作来保证数据的完整性.,完整性规则的表示:,五元组(D,O,A,C,P),D(Data
4、):指约束作用的数据对象O(Operation):触发完整性检查的数据库操作A(Assertion):数据对象必须满足的断言或语义约束C(Condition):选择A作用的数据对象值的谓词P(Procedure):违反完整性规则时触发的过程,立即执行检查延迟执行检查,8,例子1:对表Student的“学号不能为空”的约束规定.,五元组(D,O,A,C,P),D:约束作用的对象为Sno属性O:插入或修改Student元组时A:Sno不能为空C:无(A作用于所有记录的Sno属性)P:拒绝执行该操作,例子2:对教师基本情况表的“教授工资不得低于1000元”的约束规定.,五元组(D,O,A,C,P),
5、D:约束作用的对象为工资Sal属性O:插入或修改职工元组时A:Sal不能小于1000C:职称=教授P:拒绝执行该操作,9,实现参照完整性要考虑的几个问题:,1.外码能否接受空值的问题,学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名),外码,例子1:,外码取空值表示该学生尚未分配到任何具体的专业学习.,与应用环境的语义相符,因此外码可取空值.,例子2:,学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),外码(学号)取空值表示一个不存在的学生选了某门课程,成绩记录在成绩列中.,与应用环境的语义不相符,因此外码不能取空值.,10,2.在被参照关
6、系中删除元组的问题,例子:学生(学号,姓名,性别,专业号,年龄)选修(学号,课程号,成绩),被参照关系,三种策略:(1)级联删除(2)受限删除(3)置空值删除,在学生关系中删除元组(95001,李勇,男,CS,20),11,例子:A(A#,AN)S(S#,SN,A#,SA),在A关系中删除元组(001,物理)?,三种策略:(1)级联删除(2)受限删除(3)置空值删除,12,3.在参照关系中插入元组时的问题,例子:学生(学号,姓名,性别,专业号,年龄)选修(学号,课程号,成绩),参照关系,两种策略:(1)受限插入(2)递归插入,在选修关系中插入元组(99001,1,90),13,例子:S(S#,
7、SN,A#,SA)A(A#,AN),在S关系中插入元组(95001,李勇,031,20)?,两种策略:(1)受限插入(2)递归插入,14,4.修改关系中的主码,不允许修改主码允许修改主码,(1)修改被参照关系的主码,例子:学生(学号,姓名,性别,专业号,年龄)选修(学号,课程号,成绩),被参照关系,在学生关系中修改元组(95001,李勇,男,CS,20)的学号为960123,三种策略:(1)级联修改(2)受限修改(3)置空值修改,15,例子:S(S#,SN,A#,SA)A(A#,AN),在A关系中修改元组(001,物理)中的主码001为005?,三种策略:(1)级联修改(2)受限修改(3)置空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 完整性

链接地址:https://www.31ppt.com/p-5985781.html