数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt

数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt

ID:58780094

大小:215.50 KB

页数:71页

时间:2020-10-03

数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt_第1页
数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt_第2页
数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt_第3页
数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt_第4页
数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt_第5页
资源描述:

《数据库系统概论An Introduction to Database System第五章 数据ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统概论AnIntroductiontoDatabaseSystem第五章数据库完整性渤海大学信息科学与工程学院CollegeofComputerScienceandEngineeringBohaiUniversitySpring2007概述什么是数据库的完整性数据的正确性和相容性。防止不合语义的数据进入数据库。例:学生的年龄必须是整数,取值范围为14--29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;数据库是否具备完整性:关系到数据库系统能否真实地反映现实世界。完整性与安全性的区别:完整性是防止数据库中存在不

2、符合语义的数据,防止错误信息的输入输出,即所谓的“垃圾进垃圾出”所造成的无效操作和错误结果。安全性是保护数据库防止恶意的破坏和非法的存取。二者的防范对象不同:完整性的防范对象是不合语义的数据。安全性的防范对象是非法用户和非法存取。完整性控制机制DBMS必须提供完整性控制机制:1.完整性约束条件定义机制2.完整性检查机制3.违约反应完整性约束条件定义完整性约束条件:加在数据库之上的语义约束条件。它们作为模式的一部分存入数据库的数据字典中。完整性检查:DBMS检查数据是否满足数据库完整性约束条件的机制。违约处理:一般拒绝。完整性控制一、DBMS的完整性控制机

3、制二、关系系统三类完整性的实现三、参照完整性的实现一、DBMS的完整性控制机制1.定义功能一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。定义表时定义的主码、外码等。一、DBMS的完整性控制机制2.检查功能检查用户发出的操作请求是否违背了完整性约束条件。3.处理功能:如果用户的操作请求违背了完整性约束条件,则采取一定措施来保证数据的完整性。一、DBMS的完整性控制机制对于检查功能的两种时机:立即执行的约束(Immediateconstraints)一条语句执行完后立即检查是否违背完整性约束。延迟执行的约束(Deferredconstrains

4、ts)完整性检查延迟到整个事务执行结束后进行。一、DBMS的完整性控制机制例:银行数据库中“借贷总金额应平衡”的约束就应该是延迟执行的约束从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查。一、DBMS的完整性控制机制一条完整性规则可以用五元组表示:(D,O,A,C,P)D(Data)约束作用的数据对象;O(Operation)触发完整性检查的数据库操作当用户发出什么操作请求时需要检查该完整性规则是立即检查还是延迟检查;A(Assertion)数据对象必须满足的断言或语义约束这是规则

5、的主体;C(Condition)选择A作用的数据对象值的谓词;P(Procedure)违反完整性规则时触发的过程。一、DBMS的完整性控制机制例1:在“学号不能为空”的约束中D约束作用的对象为Sno属性O插入或修改Student元组时ASno不能为空C无(A可作用于所有记录的Sno属性)P拒绝执行该操作一、DBMS的完整性控制机制例2:在“教授工资不得低于1000元”的约束中D约束作用的对象为工资Sal属性O插入或修改职工元组时ASal不能小于1000C职称=′教授′(A仅作用于职称=‘教授’的记录)P拒绝执行该操作二、关系系统三类完整性的实现关系数据库

6、系统都提供了定义和检查实体完整性、参照完整性和用户定义的完整性的功能违反实体完整性规则和用户定义的完整性规则的操作:一般是拒绝执行违反参照完整性的操作:拒绝执行接受这个操作,同时执行一些附加的操作,以保证数据库的状态正确第五章数据库完整性5.1实体完整性5.2参照完整性5.3用户定义的完整性5.4完整性约束命名子句*5.5域中的完整性限制5.6触发器5.7小结5.1实体完整性5.1.1实体完整性的定义5.1.2实体完整性检查和违约处理5.1.1实体完整性的定义在CREATETABLE语句中提供了PRIMARYKEY子句,供用户在建表时指定关系的主码列。在

7、列级使用PRIMARYKEY子句在表级使用PRIMARYKEY子句例1:在学生选课数据库中,要定义Student表的Sno属性为主码方法1:CREATETABLEStudent(SnoNUMBER(8)PRIMARYKEY,SnameVARCHAR(20),SageNUMBER(20));方法2:CREATETABLEStudent(SnoNUMBER(8),SnameVARCHAR(20),SageNUMBER(20),PRIMARYKEY(SNO));方法3:CREATETABLEStudent(SnoNUMBER(8),SnameVARCHAR(2

8、0),SageNUMBER(20),CONSTRAINTPK_SNOPRIMAR

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

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

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