- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10 数据库完整性
第十章 数据库完整性 数据库的完整性是指数据的正确、有效性和相容性(前后一致)。 完整性是对数据库存储数据的限制,是对数据的约束条件。对数据库存储的限制各种各样。如关系模式中的函数依赖,是对数据项之间相关性的一种限制。 数据的正确、有效性可以简单的视为是对数据本身而言。 数据的相容性可以简单的视为是对数据之间的相互关系而言。 第十章 数据库完整性 为维护数据库的完整性,DBMS提供了一种完整性检查机制来检查数据库中的数据,看其是否满足语义规定的条件。 完整性检查(控制)是指DBMS用一定机制来满足规定的约束条件,是防止合法用户无意识操作造成的数据输入、输出错误——即垃圾进、垃圾出(Garbage in Garbage out ),破坏数据的正确、有效和相容,以保证数据库中不存在不符合语义的数据。 第十章 数据库完整性 完整性检查是围绕完整性约束条件进行的,因此完整性约束条件是完整性控制机制的核心。 在关系模型中,最常见的是三类: (A)实体完整性 (B)参照完整性 (C)用户定义完整性 第十章 数据库完整性10.1 完整性约束条件 一、完整性约束条件分类: (1)完整性约束条件作用的对象: (A)关系 (B)元组 (C)列。 其中: (A)关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。 (B)元组的约束是元组中各个字段间的联系的约束。 (C)列约束主要是列的类型、取值范围、精度、排序等的约束条件。 第十章 数据库完整性10.1 完整性约束条件 (2)完整性约束条件涉及的对象的状态: (A)静态约束 (B)动态约束 其中: (A)静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。 (B)动态约束是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。 第十章 数据库完整性10.1 完整性约束条件 综合上述两个方面,将完整性约束条件分为六类: 一、静态列级约束 二、静态元组约束 三、静态关系约束 四、动态列级约束 五、动态元组约束 六、动态关系约束 第十章 数据库完整性10.1 完整性约束条件 第十章 数据库完整性10.1 完整性约束条件 一、静态列级约束 静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束。 包括以下几方面: 1. 对数据类型的约束,包括数据的类型、长度、单位、精度等 2. 对数据格式的约束 3. 对取值范围或取值集合的约束。 4. 对空值的约束 5. 其他约束 第十章 数据库完整性10.1 完整性约束条件 二、静态元组约束 一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。 第十章 数据库完整性10.1 完整性约束条件 三、静态关系约束 在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。 常见的静态关系约束有: 1. 实体完整性约束。 2. 参照完整性约束。 实体完整性约束和参照完整性约束是关系模型的两个极其重要的约束,称为关系的两个不变性。 3. 函数依赖约束。大部分函数依赖约束都在关系模式中定义。 4. 统计约束。即字段值与关系中多个元组的统计值之间的约束关系。 第十章 数据库完整性10.1 完整性约束条件 四、动态列级约束 动态列级约束是修改列定义或列值时应满足的约束条件。 包括下面两方面: 1. 修改列定义时的约束 例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。 2. 修改列值时的约束 修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。 例如,职工工资调整不得低于其原来工资,学生年龄只能增长等。 第十章 数据库完整性10.1 完整性约束条件 五、动态元组约束 动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。 例如职工工资调整时新工资不得低于 原工资+工龄*1.5,等等。 第十章 数据库完整性10.1 完整性约束条件 第十章 数据库完整性10.2 完整性控制 一、完整性控制机制的功能 DBMS的完整性控制机制应具有三个方面的功能: 1. 定义功能——提供定义完整性约束条件的机制。 2. 检查功能——检查用户发出的操作请求是否违背了完整性约束条件。 3. 违约响应——如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 第十章 数据库完整性10.2 完整性控制 一个完善的完整性控制机制应该允许用户定义所有六类完整性约束条
文档评论(0)