文档介绍:会计学
1
数据库系统概论(gàilùn)AnIntroductiontoDatabaseSystem数据
第一页,共71页。
概 述
什么是数据库的完整性
数据的正确性和相容性。
防止不合语义的数据进入数据库。
例: 学生的年龄必须是整数,取值范围为14--29;
学生的性别只能是男或女;
学生的学号一定是唯一的;
学生所在的系必须是学校开设的系;
数据库是否具备(jùbèi)完整性:关系到数据库系统能否真实地反映现实世界。
第1页/共71页
第二页,共71页。
完整性与安全性的区别:
完整性是防止数据库中存在不符合(fúhé)语义的数据,防止错误信息的输入输出,即所谓的“垃圾进垃圾出”所造成的无效操作和错误结果。
安全性是保护数据库防止恶意的破坏和非法的存取。
二者的防范对象不同:
完整性的防范对象是不合语义的数据。
安全性的防范对象是非法用户和非法存取。
第2页/共71页
第三页,共71页。
完整性控制(kòngzhì)机制
DBMS必须提供完整性控制机制(jīzhì):
(jīzhì)
(jīzhì)
第3页/共71页
第四页,共71页。
完整性约束条件定义(dìngyì)
完整性约束条件:加在数据库之上的语义约束条件。它们作为模式的一部分存入数据库的数据字典中。
完整性检查:DBMS检查数据是否(shì fǒu)满足数据库完整性约束条件的机制。
违约处理:一般拒绝。
第4页/共71页
第五页,共71页。
完整性控制(kòngzhì)
一、DBMS的完整性控制机制(jīzhì)
二、关系系统三类完整性的实现
三、参照完整性的实现
第5页/共71页
第六页,共71页。
一、DBMS的完整性控制(kòngzhì)机制
1. 定义(dìngyì)功能
一个完善的完整性控制机制应该允许用户定义(dìngyì)各类完整性约束条件。
定义(dìngyì)表时定义(dìngyì)的主码、外码等。
第6页/共71页
第七页,共71页。
一、DBMS的完整性控制(kòngzhì)机制
2. 检查功能
检查用户发出(fāchū)的操作请求是否违背了完整性约束条件。
3. 处理功能:
如果用户的操作请求违背了完整性约束条件,则采取一定措施来保证数据的完整性。
第7页/共71页
第八页,共71页。
一、DBMS的完整性控制(kòngzhì)机制
对于检查功能的两种时机:
立即执行(zhíxíng)的约束(Immediate constraints)
一条语句执行(zhíxíng)完后立即检查是否违背完整性约束。
延迟执行(zhíxíng)的约束(Deferred constrainsts)
完整性检查延迟到整个事务执行(zhíxíng)结束后
进行。
第8页/共71页
第九页,共71页。
一、DBMS的完整性控制(kòngzhì)机制
例:银行数据库中“借贷总金额应平衡”的约束
就应该是延迟执行的约束
从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平(bùpíng)了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查。
第9页/共71页
第十页,共71页。