数据库完整性ppt课件.ppt

数据库完整性ppt课件.ppt

ID:57016647

大小:94.00 KB

页数:30页

时间:2020-07-26

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

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

1、第十章数据库完整性概述什么是数据库的完整性数据的正确性和相容性防止不合语义的数据进入数据库例:学生的年龄必须是整数,取值范围为14--29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;完整性:否真实地反映现实世界完整性控制机制1.完整性约束条件定义机制完整性约束条件:数据模型的组成部分约束数据库中数据的语义DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中2.完整性检查机制检查用户发出的操作请求是否违背了完整性约束条件3.违约反应如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证

2、数据的完整性10.1完整性约束条件完整性约束条件作用的对象列:对属性的取值类型、范围、精度等的约束条件元组:对元组中各个属性列间的联系的约束关系:对若干元组间、关系集合上以及关系之间的联系的约束两种状态静态:对静态对象的约束是反映数据库状态合理性的约束动态:对动态对象的约束是反映数据库状态变迁的约束,新旧值之间满足的约束完整性约束条件分类六类对象状态动态列级动态元组动态关系动态④⑤⑥静态列级静态元组静态关系静态①②③列元组关系对象粒度静态列级约束对列的取值域的说明最常见、最简单、最容易实现的一类完整性约束五类静态列级约束1)数据类型约束:数据的类型、长度、单位、

3、精度等2)对数据格式的约束:如日期为YY.MM.DD3)取值范围或取值集合的约束4)对空值的约束:未定义或未知的值,与零值和空格不同5)其他约束:如关于列的排序说明,组合列等静态元组约束规定元组的各个列之间的约束关系例:订货关系中发货量<=订货量教师关系中教授的工资>=700元静态元组约束只局限在元组上静态关系约束关系的各个元组之间或若干关系之间存在的各种联系或约束常见静态关系约束:实体完整性约束参照完整性约束函数依赖约束:关系字段间存在的函数依赖统计约束:定义某个字段值一个关系多个元组的统计值之间的约束关系动态列级约束动态列级约束是修改列定义或列值时应满足的约

4、束条件1)修改列定义时的约束例:将原来允许空值的列改为不允许空值时:该列目前已存在空值,则拒绝这种修改2)修改列值时的约束修改列值时新旧值之间要满足的约束条件例:职工工资调整>=原来工资年龄只能增长动态元组、关系约束动态元组约束修改元组值:各个字段之间要满足的约束条件例:职工工资调整不得低于其原来工资+工龄*1.5动态关系约束关系变化前后状态:限制条件例:事务一致性、原子性等约束条件完整性约束条件小结粒度状态列级元组级关系级静态列定义·类型·格式·值域·空值元组值应满足的条件实体完整性约束参照完整性约束函数依赖约束统计约束动态改变列定义或列值元组新旧值之间应满足

5、的约束条件关系新旧状态间应满足的约束条件10.2完整性控制定义功能一个完善的完整性控制机制应该允许用户定义各类完整性约束条件检查功能立即执行的约束:语句执行完后立即检查是否违背完整性约束延迟执行的约束:完整性检查延迟到整个事务执行结束后进行违约反应拒绝该操作其他处理方法例子例:银行数据库中“借贷总金额应平衡”的约束就应该是延迟执行的约束从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查。完整性规则五元组表示(D,O,A,C,P)D(Data):约束作用的数据对象O(Operation):触发

6、完整性检查的数据库操作当用户发出什么操作请求时需要检查该完整性规则是立即检查还是延迟检查;A(Assertion):数据对象必须满足的断言或语义约束,这是规则的主体;C(Condition):选择A作用的数据对象值的谓词P(Procedure):违反完整性规则时触发的过程例子实例学号不能为空教授工资不得低于1000元数据对象D约束作用的对象为Sno属性约束作用的对象为工资Sal属性操作O插入或修改Student元组时插入或修改职工元组时断言ASno不能为空Sal不能小于1000谓词C无(A可作用于所有记录的Sno属性)职称=‘教授’(A仅作用于职称=‘教授’的记

7、录)过程P拒绝执行该操作拒绝执行该操作关系系统三类完整性的实现关系数据库系统都提供了定义和检查实体完整性、参照完整性和用户定义的完整性的功能违反实体完整性规则和用户定义的完整性规则的操作:一般是拒绝执行违反参照完整性的操作:拒绝执行接受这个操作,同时执行一些附加的操作,以保证数据库的状态正确参照完整性的实现RDBMS实现参照完整性时需要考虑外码是否可以接受空值的问题在被参照关系中删除元组时的问题在参照关系中插入元组时的问题修改关系中主码的问题1.外码是否可以接受空值的问题例1:在职工-部门数据库中,EMP关系包含有外码Deptno某元组的这一列若为空值,表示这个

8、职工尚未分配到任何具体的

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

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

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