第5章 数据库的完整性.ppt

第5章 数据库的完整性.ppt

ID:61959510

大小:230.50 KB

页数:17页

时间:2020-02-25

第5章  数据库的完整性.ppt_第1页
第5章  数据库的完整性.ppt_第2页
第5章  数据库的完整性.ppt_第3页
第5章  数据库的完整性.ppt_第4页
第5章  数据库的完整性.ppt_第5页
资源描述:

《第5章 数据库的完整性.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章数据库的完整性P151数据的完整性是指数据库中数据的正确性、有效性和一致性。正确性:指数据的合法性;有效性:指数据是否在定义的有效范围;一致性:指表示同一个事实的两个数据应相同。数据完整性包括:参照完整性:指一个表的外键必须在另一个表中找到或者为空。参照完整性反映了事物之间的相互联系;实体完整性:指主键的值不能为空或部分为空;如果主键为空或部分为空,则失去了主键的唯一标识性;用户自定义完整性:是针对具体应用环境,数据必须满足的语义要求。注意:数据库的完整性与安全性的区别。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。为了维护

2、数据库的完整性,DBMS必须提供如下功能:1.定义功能:提供定义完整性约束条件的机制。2.检查功能:检查用户发出的操作请求是否违背了完整性约束条件。完整性检查的时机:(1)立即执行约束:在一条语句执行完后立即检查是否违背完整性约束。(2)延迟执行约束:有时完整性检查需要延迟到整个事务执行结束后再进行,检查正确方可提交,称这类约束为延迟执行约束。3.违约处理:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的操作,以保证数据的完整性。5.1静态约束与动态约束完整性约束条件作用的对象可以是关系、元组、列三种。列约束:主要是列的类型、取值范围、精度、排序等约束条件。元组约束

3、:是元组中各个字段间的联系的约束。关系的约束:是若干元组间、关系集合上以及关系之间的联系的约束。     完整性约束条件涉及的这三类对象,其状态可以是静态的,也可以是动态的。静态约束:指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。动态约束:指数据库从一种状态转变为另一种状态时,新、旧值之间应满足的约束条件,它反映了数据库状态变迁的约束。静态列级约束静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束,包括以下几方面:1.对数据类型的约束(包括数据的类型、长度、单位、精度等)。2.对数据格式的

4、约束例如,规定学号的前两位表示入学年份,中间两位表示系的编号,后三位为顺序编号。出生日期的格式为:YY.MM.DD。3.对取值范围或取值集合的约束例:规定学生成绩的取值范围为0~100,大学本科学生年龄的取值范围为14-29,性别的取值集合为[男,女]4.对空值的约束空值表示未定义或未知的值,它与零值和空格不同。有的列允许空值,有的则不允许。例如学生学号不能取空值,成绩可以为空值。二、静态元组约束:即规定元组的各个列之间的约束关系。例如订货关系中包含发货量、订货量等列,规定发货量不得超过订货量;又如教师关系中包含职称、工资等列,规定教授的工资不低于1000元。三、静态关系约束在一

5、个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:    (1)实体完整性约束。    (2)参照完整性约束。        (3)函数依赖约束。大部分函数依赖约束都在关系模式中定义。    (4)统计约束。即字段值与关系中多个元组的统计值之间的约束关系。 例如规定部门经理的工资不得高于本部门职工平均工资的5倍,不得低于本部门职工平均工资的2倍。本部门职工的平均工资是一个统计值。四、动态列级约束:是修改列定义或列值时应满足的约束条件;包括两方面:(1)修改列定义时的约束例:将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。(2

6、)修改列值时的约束:修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工工资调整不得低于其原来工资,学生年龄只能增长等。五、动态元组约束:指修改元组值时,元组中各个字段间需要满足某种约束条件。例如职工工资调整时新工资不得低于原工资+工龄*1.5等。5.2实体完整性的定义P1525.3参照完整性的定义P154实现参照完整性要考虑的几个问题P155表5.11.在被参照关系中删除元组的问题当删除被参照关系的某个元组,而参照关系存在若干元组,其外码值与被参照关系删除元组的主码值相同,这时可有三种不同的策略:(1)级联删除(CASCADES)将参照关系中所有外码值与被

7、参照关系中要删除元组主码值相同的元组一起删除。(2)受限删除仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。(3)置空值删除删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。2.在参照关系中插入元组时的问题当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略:受限插入仅当被参照关系中存在相应的元组,其主码值与参照关系插入元组的外码值相同时,系统才执

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。