第5章 数据库完整性ppt课件.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章 数据库完整性ppt课件

An Introduction to Database System 数据库完整性 数据库完整性 完整性—正确性、相容性、防止错误信息输入和输出。 完整性被破坏的原因:是由更新操作不遵守完整性约束条件引起的。 数据的完整性和安全性的区别 数据库的完整性:是为了防止数据库中存在部分不符合语义的数据,防止错误信息的输入和输出。用以保证数据的正确、有效。 防范对象是不合语义的数据。 数据库的安全性:是为了保护数据库防止恶意的破坏和非法的存取。 防范对象是非法用户和非法操作。 二者又是密切相关的,都是使得系统随时可正常运转,防止机密信息泄露和破坏。 完整性检查与完整性约束条件 为了维护数据库的完整性,DBMS必须提供一种机制,来检查数据库中的数据,看是否满足语义规定的条件。这种功能称为完整性检查。 加在数据库数据上的语义约束条件,称为完整性约束条件。他们作为模式的一部分存入数据库中。 完整性约束条件 完整性约束条件是数据完整性检查的依据,是完整性控制机制的核心。 完整性约束的对象: 关系、元组、列 列约束:类型、取值范围、精度、排序等约束条件。 元组约束:元组中各个数据项之间联系的约束。 关系约束:若干元组之间、关系集合上以及关系之间的联系的约束。 如:实体完整性约束、参照完整性约束、函数依赖约束等。 约束的状态:静态和动态 静态约束:指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,最重要的一类完整性约束。 动态约束:指数据库从一种状态变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。 完整性约束条件分类(六种) 完整性约束条件(续) 1. 静态列级约束 静态列级约束:对的取值域的说明 最常见、最简单、最容易实现的一类完整性约束 完整性约束条件(续) 五类静态列级约束 1) 数据类型约束:数据的类型、长度、单位、精度等 例:学生姓名的数据类型为字符型,长度为8 2) 对数据格式的约束 例: 学号:前两位表示入学年份,后四位为顺序编号 日期:YY.MM.DD。 完整性约束条件(续) 3) 取值范围或取值集合的约束 例:规定成绩的取值范围为0-100 年龄的取值范围为14-29 性别的取值集合为[男,女] 4) 对空值的约束 空值:未定义或未知的值,与零值和空格不同 有的列允许空值,有的则不允许 5) 其他约束 例:关于列的排序说明,组合列等 完整性约束条件(续) 2. 静态元组约束 规定元组的各个列之间的约束关系 例:订货关系中发货量=订货量 静态元组约束只局限在元组上 完整性约束条件(续) 3. 静态关系约束 关系的各个元组之间或若干关系之间存在的各种联系或约束 常见静态关系约束: 1) 实体完整性约束 2) 参照完整性约束 3) 函数依赖约束 4) 统计约束 统计约束 定义某个字段值一个关系多个元组的统计值之间的约束关系 例:职工平均工资的2倍=部门经理的工资= 职工平均工资的5倍 职工平均工资值: 统计值 完整性约束条件(续) 4. 动态列级约束 动态列级约束是修改列定义或列值时应满足的约束条件 完整性约束条件(续) 1) 修改列定义时的约束 例:将原来允许空值的列改为不允许空值时: 该列目前已存在空值,则拒绝这种修改 2) 修改列值时的约束 修改列值时新旧值之间要满足的约束条件 例:职工工资调整 = 原来工资 年龄只能增长 完整性约束条件(续) 5. 动态元组约束 修改元组值: 各个字段之间要满足的约束条件 例: 职工工资调整不得低于其原来工资 + 工龄*1.5 6. 动态关系约束 关系变化前后状态:限制条件 例:事务一致性、原子性等约束条件 完整性约束条件小结 完整性控制(I) 完整性控制(II) A(Assertion): 数据对象必须满足的断言或语义约束,这是规则的主体; C(Condition): 选择A作用的数据对象值的谓词; P(Procedure): 违反完整性规则时触发的过程。 例1,在“学号不能为空”的约束中, D:约束作用的对象为Sno属性; O:插入或修改Student元组时; A:Sno不能为空; C:无(A可作用与所有记录的Sno属性); P:拒绝执行该操作。 完整性控制(III) 例2,在“教授工资不得低于1000元”的约束中, D:约束作用的对象为工资Sal属性; O:插入或修改职工元组时; A:Sal不能小于1000; C:职称=’教授’(A仅作用于职称=’教授’记

文档评论(0)

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

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

1亿VIP精品文档

相关文档