72数据库的完整性.ppt

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
72数据库的完整性.ppt

7.2 数据库的完整性 7.2.1 数据库完整性的含义 7.2.2 完整性约束的类型 7.2.3 完整性约束的定义方法 7.2.4 完整性约束的验证 7.2.1 数据库完整性的含义 数据库的完整性是指数据库中数据的正确性和相容性。 7.2.2 完整性约束的类型 1.由数据模型确定的完整性约束 由数据模型确定的完整性约束可以由数据库模式隐含地说明和定义,这种完整性约束又被称为数据模型的隐含约束。不同数据模型具有不同的隐含约束集合。然而,任何一种数据模型都不可能把现实世界所有的约束都包含到隐含约束中来。因此,数据模型还具有一些需要显式地定义到数据库模式上的约束,这种约束被称为数据模型的显式约束。此外数据模型还有第三种类型的约束——固有约束,即数据模型本身固有的、不需要特殊说明的约束。 7.2.2 完整性约束的类型 2.由数据库应用确定的完整性约束 数据库上的大部分语义完整性约束是由数据库应用确定的。这类完整性约束分为状态约束和变迁约束两类,在数据库管理系统中这两类约束都被视为显式约束。 (1)状态约束。在某一时刻数据库中的所有数据实例构成了数据库的一个状态。数据库的状态约束也称静态约束,是所有数据库状态必须满足的约束。每当数据库被修改时,数据库管理系统都要进行状态约束的检查,以保证状态约束始终被满足。 (2)变迁约束。数据库变迁约束也称动态约束,是指数据库从一个状态向另一个状态转化过程中必须遵循的约束条件,如职工年龄在更改时只能增长、职工工资在调整时新值不得少于旧值等。变迁约束既不作用于修改前的状态又不作用于修改后的状态,而是规定了状态变迁时必须遵循的规则。由于其动态特性,变迁约束很难实施。变迁约束通常用显式约束表示。 7.2.2 完整性约束的类型 综上所述,数据库完整性约束的分类如图7.1所示。 7.2.3 完整性约束的定义方法 1.过程化定义方法 显式约束的过程化定义方法是把显式约束作为一个过程,由程序员编码到每个更新数据库的事务中。 2.断言定义方法 断言定义方法使用一种约束定义语言来定义显式约束,是一种形式化方法。约束定义语言通常是关系演算语言的变种。显式约束的断言定义方法把约束集合和完整性验证子系统严格分开。约束集合存储在约束库中,完整性验证子系统存取约束库中的约束,将其应用到相应的数据库更新事务中。 3.触发器定义方法 一个触发器用来定义一个条件以及该条件为真时需要执行的动作。 7.2.4 完整性约束的验证 1. 隐含约束的验证 隐含约束是建立数据库模式时通过数据定义语言向数据库管理系统说明的。数据定义语言编译器把这些约束存储在数据库管理系统的数据字典中。当数据库被更新时,数据库管理系统将自动读取数据字典中的完整性约束,进行完整性约束验证,保证数据库的完整性。 2.显式约束的验证 如果数据库系统使用断言定义方法定义显式约束,则显式约束的存储、管理和验证与隐含约束的处理方法相同。否则,显式约束作为过程由程序员编码到相关事务中,在这种情况下,显式约束的处理完全由程序员和数据库管理员负责。 3.固有约束的验证 固有约束的验证由数据库管理系统自动完成。固有约束是数据模型所固有的,在数据库管理系统软件设计时就已经定义完毕,不需要像隐含和显式约束那样动态定义。 第7章 数据库的安全保护 * 第7章 数据库的安全保护 *

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档