第八章数据库完整性.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文档。上传文档
查看更多
* * 主讲:武彤 《数据库系统原理》 第八章 数据库完整性 本章导读: 内容: 讲解RDBMS完整性实现的机制,包括完整性约 束定义机制、 完整性检查机制和违背完整性约束 条件时RDBMS应采取的动作等。 要求: 1)理解RDBMS实现实体完整性、参照完整性 、用户定义完整性的方法。 2)会使用完整性约束命名子句。 3)会使用SQL进行域中完整性限制。 4)了解通过触发器实现数据库完整性。 第八章 数据库完整性 前导内容: 《数据库系统原理》 主讲:武彤 数据库的完整性: 是指数据的正确性和相容性。是为了防止数 据库中存在不符合语义的数据。 数据库完整性和安全性的区别: 完整性检查和控制的防范对象是不合语义的、 不正确的数据,防止它们进入数据库。安全性控 制的防范对象是非法用户和非法操作,防止他们 对数据库数据的非法存取。 第八章 数据库完整性 前导内容: 《数据库系统原理》 主讲:武彤 为维护数据库的完整性,DBMS必须具有以下功能: 1、提供定义完整性约束条件的机制。 2、提供完整性检查的机制。 3、违约处理。 完整性控制功能已经成为DBMS核心支持的功 能,从而能够为所有的用户和所有的应用提供一致 的数据库完整性。因为由应用程序来实现完整性控 制是有漏洞的。有的应用程序定义的完整性约束条 件可能被其他应用程序破坏,数据库数据的正确性 仍然无法保障。 第八章 数据库完整性 5.1 实体完整性 《数据库系统原理》 主讲:武彤 关系模型的实体完整性在CREATE TABLE中 用PRIMARY KEY定义。 对单属性构成的码有两种说明方法: 1)定义为列级约束条件; 2)定义为表级约束条件。 对多个属性构成的码只有一种说明方法: 定义为表级约束条件。 例:(见P152例1、例2) 一、实体完整性定义 第八章 数据库完整性 5.1 实体完整性 《数据库系统原理》 主讲:武彤 二、实体完整性检查和违约处理 每当用户程序对基本表插入一条记录或者 对主码列进行更新操作时, RDBMS 将按照实 体完整性规则自动进行如下检查: 1)检查主码值是否唯一,如果不唯一则拒 绝插入或修改。 2)检查主码的各个属性是否为空,只要有 一个为空就拒绝插入或修改。 检查方法: (见P153图5.1~图5.2) 第八章 数据库完整性 5.2 参照完整性 《数据库系统原理》 主讲:武彤 一、参照完整性的定义 关系模型的参照完整性在CREATE TABLE中 用 FOREIGN KEY 短语定义哪些列为外码,用 REFERENCES短语指明这些外码参照哪些表的主 码。 例:(见P154例3) 二、参照完整性检查和违约处理 (见P155表5.1) 违约处理: 1)拒绝执行;2)级连操作;3)设置为空值。 第八章 数据库完整性 5.2 参照完整性 《数据库系统原理》 主讲:武彤 一般情况,当对参照表和被参照表的操作违 反了参照完整性,系统选用默认策略,即拒绝执 行。如果想让系统采用其他的策略则必须在创建 表的时候显式地加以说明。 例:(见P156例4) 第八章 数据库完整性 5.3 用户定义的完整性 《数据库系统原理》 主讲:武彤 用户定义的完整性就是针对某一具体应用的 数据必须满足的语义要求。目前的RDBMS 都提供 了定义和检验这类完整性的机制,使用了和实体 完整性、参照完整性相同的技术和方法来处理它 们,而不必由应用程序承担这一切。 一、属性上的约束条件的定义 有如下对属性值限制: 1)列值非空。 2)列值唯一。 3)检查列值是否满足一个布尔表达式。 (见P156~157例5~例8) 第八章 数据库完整性 5.3 用户定义的完整性 《数据库系统原理》 主讲:武彤 二、属性上的约束条件检查和违约处理 当往表中插入元组或修改属性的值时,RDBMS 就检查属性上的约束条件是否被满足,如果不满 足则操作被拒绝执行。 三、元组上的约束条件的定义 在CREATE TABLE语句中可以用CHECK短 语定义元组上的约束条件,即元组级的限制。 例:(见P158例9) 四、元组上的约束条件检查和违约处理 第八章 数据库完整性 5.4 完整性约束命名子句 《数据库系统原理》 主讲:武彤 一、完整性约束命名子句 语句格式: CONSTRAINT 完整性约束条件名 [PRIMARY KEY 短语|FOREIGN KEY

文档评论(0)

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

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

1亿VIP精品文档

相关文档