欢迎来到天天文库
浏览记录
ID:40135522
大小:80.50 KB
页数:29页
时间:2019-07-22
《【数据库原理】数据库完整性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章内容提要数据库中的数据是否具备正确、相容关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。维护数据库(1)制定完整性约束条件(2)进行完整性检查(控制)第十章数据库完整性本章重点:完整性约束条件完整性控制本章难点:完整性约束条件完整性控制第十章数据库完整性数据库的完整性是指数据的正确、有效性和相容性(前后一致)。完整性是对数据库存储数据的限制,是对数据的约束条件。对数据库存储的限制各种各样。如关系模式中的函数依赖,是对数据项之间相关性的一种限制。数据的正确、有效性可以简单的视为是对数据本身而言。数据的相容性可以简单的视为是对数据之间的相互关系而言。
2、第十章数据库完整性为维护数据库的完整性,DBMS提供了一种完整性检查机制来检查数据库中的数据,看其是否满足语义规定的条件。完整性检查(控制)是指DBMS用一定机制来满足规定的约束条件,是防止合法用户无意识操作造成的数据输入、输出错误——即垃圾进、垃圾出(GarbageinGarbageout),破坏数据的正确、有效和相容,以保证数据库中不存在不符合语义的数据。第十章数据库完整性完整性检查是围绕完整性约束条件进行的,因此完整性约束条件是完整性控制机制的核心。在关系模型中,最常见的是三类:(A)实体完整性(B)参照完整性(C)用户定义完整性第十章数据库完整性一、完整性约束条件分类:
3、(1)完整性约束条件作用的对象:(A)关系(B)元组(C)列。其中:(A)关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。(B)元组的约束是元组中各个字段间的联系的约束。(C)列约束主要是列的类型、取值范围、精度、排序等的约束条件。第十章数据库完整性10.1完整性约束条件第十章数据库完整性10.1完整性约束条件(2)完整性约束条件涉及的对象的状态:(A)静态约束(B)动态约束其中:(A)静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。(B)动态约束是指数据库从一种状态转变为另一种状态时新、
4、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。综合上述两个方面,将完整性约束条件分为六类:一、静态列级约束二、静态元组约束三、静态关系约束四、动态列级约束五、动态元组约束六、动态关系约束第十章数据库完整性10.1完整性约束条件第十章数据库完整性10.1完整性约束条件对象粒度对象状态列元组关系动态动态列级约束动态元组约束动态关系约束静态静态列级约束静态元组静态关系约束一、静态列级约束静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束。包括以下几方面:1.对数据类型的约束,包括数据的类型、长度、单位、精度等2.对数据格式的约束3.对取值范围
5、或取值集合的约束。4.对空值的约束5.其他约束第十章数据库完整性10.1完整性约束条件二、静态元组约束一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。第十章数据库完整性10.1完整性约束条件第十章数据库完整性10.1完整性约束条件三、静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:1.实体完整性约束。2.参照完整性约束。实体完整性约束和参照完整性约束是关系模型的两个极其重要的约束,称为关系的两个不变性。3.函数依赖约束。大部分函数依赖约束都在关系模式中定义。4.统计约束。即字段值与关系
6、中多个元组的统计值之间的约束关系。第十章数据库完整性10.1完整性约束条件四、动态列级约束动态列级约束是修改列定义或列值时应满足的约束条件。包括下面两方面:1.修改列定义时的约束例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。2.修改列值时的约束修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工工资调整不得低于其原来工资,学生年龄只能增长等。第十章数据库完整性10.1完整性约束条件五、动态元组约束动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。例如职工工资调整时新工资不得低于原工资+工龄*1.5,等
7、等。第十章数据库完整性10.1完整性约束条件六、动态关系约束动态关系约束是加在关系变化前后状态上的限制条件。例如事务一致性、原子性等约束条件。第十章数据库完整性10.2完整性控制一、完整性控制机制的功能DBMS的完整性控制机制应具有三个方面的功能:1.定义功能——提供定义完整性约束条件的机制。2.检查功能——检查用户发出的操作请求是否违背了完整性约束条件。3.违约响应——如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。第十章数据库完整性10.
此文档下载收益归作者所有