数据库完整性(10)

数据库完整性(10)

ID:5456483

大小:169.00 KB

页数:77页

时间:2017-11-15

数据库完整性(10)_第1页
数据库完整性(10)_第2页
数据库完整性(10)_第3页
数据库完整性(10)_第4页
数据库完整性(10)_第5页
资源描述:

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

1、数据库系统概论AnIntroductiontoDatabaseSystem第十章数据库完整性第十章数据库完整性什么是数据库的完整性数据的正确性和相容性防止不合语义的数据进入数据库。例:学生的年龄必须是整数,取值范围为14--29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;完整性:是否真实地反映现实世界完整性控制机制1.完整性约束条件定义机制2.完整性检查机制3.违约反应完整性约束条件定义完整性约束条件:数据模型的组成部分约束数据库中数据的语义DBMS应提供定义数据库完整性约

2、束条件,并把它们作为模式的一部分存入数据库中完整性控制机制检查用户发出的操作请求是否违背了完整性约束条件违约反应如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。第十章数据库完整性10.1完整性约束条件10.2完整性控制10.3Oracle的完整性10.4小结完整性约束条件(续)完整性约束条件作用的对象列:对属性的取值类型、范围、精度等的约束条件元组:对元组中各个属性列间的联系的约束关系:对若干元组间、关系集合上以及关系之间的联系的约束完整性约束条件(续)静态对静态对象的约束

3、是反映数据库状态合理性的约束动态对动态对象的约束是反映数据库状态变迁的约束完整性约束条件分类六类完整性约束条件静态列级约束静态元组约束静态关系约束动态列级约束动态元组约束动态关系约束完整性约束条件(续)对象状态动态列级约束动态元组约束动态关系约束动态④⑤⑥静态列级约束静态元组约束静态关系约束静态①②③列元组关系对象粒度完整性约束条件(续)1.静态列级约束静态列级约束:对的取值域的说明最常见、最简单、最容易实现的一类完整性约束完整性约束条件(续)五类静态列级约束1)数据类型约束:数据的类型、长度、单位、精度等例:

4、学生姓名的数据类型为字符型,长度为82)对数据格式的约束例:学号:前两位表示入学年份,后四位为顺序编号日期:YY.MM.DD。完整性约束条件(续)3)取值范围或取值集合的约束例:规定成绩的取值范围为0-100年龄的取值范围为14-29性别的取值集合为[男,女]4)对空值的约束空值:未定义或未知的值空值:与零值和空格不同有的列允许空值,有的则不允许,如成绩可为空值5)其他约束例:关于列的排序说明,组合列等完整性约束条件(续)2.静态元组约束规定元组的各个列之间的约束关系例:订货关系中发货量<=订货量教师关系中教授

5、的工资>=700元静态元组约束只局限在元组上完整性约束条件(续)3.静态关系约束关系的各个元组之间或若干关系之间存在的各种联系或约束常见静态关系约束:1)实体完整性约束2)参照完整性约束3)函数依赖约束4)统计约束函数依赖约束关系字段间存在的函数依赖例:在学生-课程-教师关系SJT(S,J,T)的函数依赖:((S,J)→T,T→J)主码:(S,J)统计约束定义某个字段值一个关系多个元组的统计值之间的约束关系例:职工平均工资的2倍<=部门经理的工资<=职工平均工资的5倍职工平均工资值:统计值完整性约束条件(续)4

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

7、态列级元组级关系级静态列定义·类型·格式·值域·空值元组值应满足的条件实体完整性约束参照完整性约束函数依赖约束统计约束动态改变列定义或列值元组新旧值之间应满足的约束条件关系新旧状态间应满足的约束条件第十章数据库完整性10.1完整性约束条件10.2完整性控制10.3Oracle的完整性10.4小结10.2完整性控制一、DBMS的完整性控制机制二、关系系统三类完整性的实现三、参照完整性的实现一、DBMS的完整性控制机制1.定义功能一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。DBMS的完整性控制机制(

8、续)2.检查功能立即执行的约束(Immediateconstraints)语句执行完后立即检查是否违背完整性约束延迟执行的约束(Deferredconstrainsts)完整性检查延迟到整个事务执行结束后进行DBMS的完整性控制机制(续)例:银行数据库中“借贷总金额应平衡”的约束就应该是延迟执行的约束从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账

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

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

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