数据库完整性课件.ppt

数据库完整性课件.ppt

ID:57001600

大小:216.00 KB

页数:35页

时间:2020-07-26

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

《数据库完整性课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库完整性1、数据库的完整性是指数据的正确性和相容性。例如,学生的学号必须唯一;性别只能是男或女;本科学生年龄的取值范围为14-30的整数;学生所在的系必须是学校已开设的系;2、数据的完整性和安全性区别:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(GarbagelnGarbageOut)所造成的无效操作和错误结果。安全性是保护数据库防止恶意的破坏和非法的存取10.1完整性约束条件•完整性约束条件作用的对象可以是关系、元组、列三种。其中列约束主要是列的类型、取值范围、精度、排序等约

2、束条件。•元组的约束是元组中各个字段间的联系的约束。•关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。•静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。•动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。一、静态列级约束静态列级约束完整性约束,包括以下几方面;1.对数据类型的约束(包括数据的类型、长度、单位、精度等)例如中国人民大学数据库中学生姓名的数据类型规定为字符型,长度为8。中央

3、民族大学数据库中学生姓名的数据类型规定为字符型,长度为20,因为少数民族的姓名较长。2.对数据格式的约束例如,规定学号的前两位表示入学年份,中间两位表示系的编号,后三位为顺序编号。出生日期的格式为YY.MM.DD。3.对取值范围或取值集合的约束例如,规定学生成绩的取值范围为0~100,大学本科学生年龄的取值范围为14….29,性别的取值集合为[男,女]。4.对空值的约束空值表示未定义或未知的值,它与零值和空格不同。有的列允许空值,的则不允许。例如学生学号不能取空值,成绩可以为空值。5.其他约束例如关于列的排序说明,组合列等。二、

4、静态元组约束一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。例如订货关系中包含发货量、订货量等列,规定发货量不得超过订货量;又如教师关系中包含职称、工资等列,规定教授的工资不低于1000元。三、静态关系约束•在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。•常见的静态关系约束有:(1)实体完整性约束。(2)参照完整性约束。实体完整性约束和参照完整性约束是关系模型的两个极其重要的约束,称为关系的两个不变性。(3)函数依赖约束。大部分函数依赖约束都在关系模式中定义。四、动态列级约束(4)

5、统计约束。即字段值与关系中多个元组的统计值之间的约束关系。例如规定部门经理的工资不得高于本部门职工平均工资的5倍,不得低于本部门职工平均工资的2倍。这里,本部门职工的平均工资是一个统计值。(1)修改列定义时的约束例如,将允许空值的列改为不允许空值时,拒绝这种修改。五、动态元组约束(2)修改列值时的约束如果该列目前已存在空值,则修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工工资调整不得低于其原来工资,学生年龄只能增长等动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。例如职工工资调整时

6、新工资不得低于原工资+工龄*1.5等。六、动态关系约束动态关系约束是加在关系变化前后状态上的限制条件.例如事务一致性、原子性等约束条件。10.2完整性控制DBMS的完整性控制机制应具有三个方面的功能;.定义功能,提供定义完整性约束条件的机制。.检查功能,检查用户发出的操作请求是否违背了完整性约束条件。.保证措施,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。•立即执行约束:检查是否违背完整性约束的时机通常是在一条语句执行完后立即检查,称这类约束为立即执行约束(ImmediateConstr

7、aints)。•延迟执行约束:有时完整性检查需要延迟到整个事务执行结束后再进行,检查正确方可提交,称这类约束为延迟执行约束(DeferredConstraints)。例如银行数据库中“借贷总金额应平衡”的约束就应该是延迟执行的约束,从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查:如果发现用户操作请求违背了完整性约束条件,系统将拒绝该操作,但对于延迟执行的约束,系统将拒绝整个事务,把数据库恢复到该事务执行前的状态。•完整性规则的表示一条完整性规则可以用一个

8、五元组(D,O,A,C,P)来表示,其中:D(Data)约束作用的数据对象;O(Operation)触发完整性检查的数据库操作,A(Assertion)数据对象必须满足的断言或语义约束,这是规则的主体;C(Condition)选择A作用的数据对象值的谓词:P(P

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

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

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