数据库的完整性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一页,共十七页,2022年,8月28日 实体完整性:指主键的值不能为空或部分为空; 如果主键为空或部分为空,则失去了主键的唯一标识性; 用户自定义完整性:是针对具体应用环境,数据 必须满足的语义要求。 注意:数据库的完整性与安全性的区别。 数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。 第二页,共十七页,2022年,8月28日 为了维护数据库的完整性,DBMS必须提供如下功能: 1.定义功能:提供定义完整性约束条件的机制。 2.检查功能:检查用户发出的操作请求是否违背了完整性约束条件。 完整性检查的时机: (1)立即执行约束:在一条语句执行完后立即检查是否违背完整性约束。 (2)延迟执行约束:有时完整性检查需要延迟到整个事务执行结束后再进行,检查正确方可提交,称这类约束为延迟执行约束。 3. 违约处理:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的操作,以保证数据的完整性。 第三页,共十七页,2022年,8月28日 5.1 静态约束与动态约束 完整性约束条件作用的对象可以是关系、元组、列三种。 列约束:主要是列的类型、取值范围、精度、排序等约束条件。 元组约束:是元组中各个字段间的联系的约束。 关系的约束:是若干元组间、关系集合上以及关系之间的联系的约束。 ????完整性约束条件涉及的这三类对象,其状态可以是静态的,也可以是动态的。 第四页,共十七页,2022年,8月28日 静态约束:指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。 动态约束:指数据库从一种状态转变为另一种状态时,新、旧值之间应满足的约束条件,它反映了数据库状态变迁的约束。 第五页,共十七页,2022年,8月28日 静态列级约束 ????静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束,包括以下几方面: 1.对数据类型的约束(包括数据的类型、长度、单位、精度等)。 2.对数据格式的约束 例如,规定学号的前两位表示入学年份,中间两位表示系的编号,后三位为顺序编号。出生日期的格式为:YY.MM.DD。 第六页,共十七页,2022年,8月28日 3.对取值范围或取值集合的约束 例:规定学生成绩的取值范围为0~100,大学本科学生年龄的取值范围为14-29,性别的取值集合为[男,女] 4.对空值的约束 空值表示未定义或未知的值,它与零值和空格不同。有的列允许空值,有的则不允许。例如学生学号不能取空值,成绩可以为空值。 第七页,共十七页,2022年,8月28日 二、静态元组约束:即规定元组的各个列之间的约束关系。例如订货关系中包含发货量、订货量等列,规定发货量不得超过订货量;又如教师关系中包含职称、工资等列,规定教授的工资不低于1000元。 三、静态关系约束 ????在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有: ???(1)实体完整性约束。 ???(2)参照完整性约束。???? ???(3)函数依赖约束。大部分函数依赖约束都在关系模式中定义。 ???(4)统计约束。即字段值与关系中多个元组的统计值之间的约束关系。 例如规定部门经理的工资不得高于本部门职工平均工资的5倍,不得低于本部门职工平均工资的2倍。本部门职工的平均工资是一个统计值。 第八页,共十七页,2022年,8月28日 四、动态列级约束:是修改列定义或列值时应满足的约束条件; 包括两方面:? (1)修改列定义时的约束 ? 例:将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。 (2)修改列值时的约束:?修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工工资调整不得低于其原来工资,学生年龄只能增长等。 五、动态元组约束:指修改元组值时,元组中各个字段间需要满足某种约束条件。例如职工工资调整时新工资不得低于原工资+工龄*1.5等。 第九页,共十七页,2022年,8月28日 5.2 实体完整性的定义 P152 5.3 参照完整性的定义 P154 第十页,共十七页,2022年,8月28日 实现参照完整性要考虑的几个问题 P155 表5.1 1.在被参照关系中删除元组的问题 当删除被参照关系的某个元组,而参照关系存在若干元组,其外码值与被参照关系删除元组的主码值相同,这时可有三种不同的策略: (1)级联删除(CASCADES) 将参照关系中所有外码值与被参照关系中要删除元组主码值相同的元组一起删除。 (2

文档评论(0)

xiaoyao2022 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档