网站大量收购独家精品文档,联系QQ:2885784924

数据库系统概论第5章数据库完整性.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*第5章数据库完整性5.1完整性约束条件5.2完整性控制*数据库的完整性正确性相容性数据库完整性的实现:(1)定义完整性约束条件(2)完整性检查(3)违约反应10.1完整性约束条件完整性约束条件作用的对象:关系元组列列约束:是指列的类型、取值范围、精度、排序等约束.元组约束:是指元组中各个字段间的联系约束.关系约束:是指若干元组间、关系集合上以及关系之间的联系约束.*完整性约束条件作用对象的状态:静态动态静态约束:是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束.动态约束:是指数据库从一种状态转变为另一种状态时,新、旧值之间所满足的约束条件,它是反映数据库状态变迁的约束.完整性约束条件分类:列元组关系动态静态1234561:静态列级约束2:静态元组约束3:静态关系约束4:动态列级约束5:动态元组约束6:动态关系约束一、静态列级约束*静态列级约束:是指对一个列的取值域的说明。动态列级约束动态列级约束:是指修改列定义或列值时应满足的约束条件.对数据类型的约束(数据的类型、长度、单位、精度等)对数据格式的约束对取值范围或取值集合的约束对空值的约束其他约束包括以下几个方面:1包括以下几个方面:修改列定义时的约束修改列值时的约束2三、静态元组约束*静态元组约束:是指元组的各个列之间的约束关系.四、动态元组级约束动态元组级约束:是指修改元组的值时元组中各个列之间的约束条件.五、静态关系约束静态关系约束:是指一个关系的各个元组之间或者若干关系之间存在的约束条件.包括以下几个方面:(1)实体完整性约束(2)参照完整性约束(3)函数依赖约束(4)统计约束六、动态关系约束*动态关系约束:是指加在关系变化前后状态上的约束条件.总结:粒度状态列级元组级关系级静态动态列定义·类型·格式·值域·空值元组值应满足的条件实体完整性约束参照完整性约束函数依赖约束统计约束改变列定义或列值元组新旧值之间应满足的约束条件关系新旧状态间应满足的约束条件10.2完整性控制*完整性控制机制的功能:(1)定义功能(2)检查功能(3)如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性.完整性规则的表示:五元组(D,O,A,C,P)D(Data):指约束作用的数据对象O(Operation):触发完整性检查的数据库操作A(Assertion):数据对象必须满足的断言或语义约束C(Condition):选择A作用的数据对象值的谓词P(Procedure):违反完整性规则时触发的过程立即执行检查延迟执行检查*例子1:对表Student的“学号不能为空”的约束规定.五元组(D,O,A,C,P)D:约束作用的对象为Sno属性O:插入或修改Student元组时A:Sno不能为空C:无(A作用于所有记录的Sno属性)P:拒绝执行该操作例子2:对教师基本情况表的“教授工资不得低于1000元”的约束规定.五元组(D,O,A,C,P)D:约束作用的对象为工资Sal属性O:插入或修改职工元组时A:Sal不能小于1000C:职称=‘教授’P:拒绝执行该操作实现参照完整性要考虑的几个问题:*外码能否接受空值的问题外码与应用环境的语义相符,因此外码可取空值.学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)外码(学号)取空值表示一个不存在的学生选了某门课程,成绩记录在成绩列中.与应用环境的语义不相符,因此外码不能取空值.例子2:例子1:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)外码取空值表示该学生尚未分配到任何具体的专业学习.2.在被参照关系中删除元组的问题*例子:学生(学号,姓名,性别,专业号,年龄)选修(学号,课程号,成绩)学号姓名性别专业号年龄95001李勇男CS20…

文档评论(0)

135****7720 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档