数据库系统概论王珊数据库完整性.pptx





《数据库系统概论王珊数据库完整性.pptx》由会员分享,可在线阅读,更多相关《数据库系统概论王珊数据库完整性.pptx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容概述5.1 实体完整性5.2 参照完整性5.3 用户定义完整性5.4 完整性约束命名子句5.5 域中的完整性限制5.6 断言5.7 触发器第1页/共26页概述数据库的完整性:数据的正确性和相容性。数据的正确性:数据是符合现实世界语义、反映当前实际状况的;数据的相容性:数据库同一对象在不同关系表中的数据是符合逻辑的。数据的完整性与安全性是两个既有联系又不尽相同的概念:(1)完整性是为了防止数据库中存在不符合语义的数据,即防止数据库中存在不正确的数据。完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。(2)安全性是保护数据防止恶意破坏和非法存取。安全性控制的对象是非
2、法用户和非法操作,防止他们对数据库的数据进行非法存取。第2页/共26页概述为维护数据的完整性,DBMS必须具备如下对应功能:(1)提供定义完整性约束条件的机制 完整性约束条件也称完整性规则,是数据库中的数据必须满足的语义约束条件。它表达了给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。第3页/共26页概述 (2)提供完整性检查的方法 数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查。通常在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。检查这些操作后的数据库中
3、的数据是否违背了完整性约束条件。第4页/共26页概述 (3)进行违约处理 数据库管理系统若发现用户的操作违背了完整性约束条件,则将采取一定的动作或措施,如拒绝执行该操作或级联执行其他操作,进行违约处理以保证数据的完整性。第5页/共26页概述关系数据库的三类完整性约束条件:(1)实体完整性约束条件 (2)参照完整性约束条件 (3)用户定义完整性约束条件第6页/共26页5.1 实体完整性关系模型中的实体完整性是在CREATE TABLE 中用PRIMARY KEY定义。对单属性构成的码有两种说明方法 (1)定义为列级约束条件;(2)定义为表级约束条件。对多属性构成的码只有一种说明方法,即定义为表级
4、约束条件。举例说明第7页/共26页5.1 实体完整性【例5.1】将Student表中的Sno属性定义为码。CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY,/*列级定义主码*/Sname CHAR(20)NOT NULL,Ssex CHAR(2),Ssage SMALLINT,Sdept CHAR(20));第8页/共26页5.1 实体完整性【例5.1】将Student表中的Sno属性定义为码。或者也可以 CREATE TABLE Student (Sno CHAR(9),Sname CHAR(20)NOT NULL,Ssex CHAR(2),Ssage
5、 SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno),/*表级定义主码*/);第9页/共26页5.1 实体完整性【例5.2】将SC表中的Sno、Cno属性组定义为码。只能用表级定义 CREATE TABLE Student (Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY (Sno,Cno),/*表级定义主码*/);第10页/共26页5.1 实体完整性用PRIMARY KEY短语定义了关系的主码后,每当用户对基本表插入一条记录或对主码列进行更新操作时,关系数据库管理系统即对实体完
6、整性规则进行自动检查,包括:(1)检查主码是否唯一,若不唯一则拒绝插入或修改;(2)检查主码的各个属性是否为空,只要有一个为空 就拒绝插入或修改。从而保证了实体完整性。检查记录中的主码值是否唯一的方法:(1)全表扫描 (2)根据主码建立索引第11页/共26页5.2 参照完整性关系模型中的参照完整性是在CREATE TABLE 中用FOREIGN KEY短语定义哪些列为外码,用REFERENCES短语指明这些外码参照那些表的主码。举例说明第12页/共26页5.2 参照完整性【例5.3】将SC表中的参照完整性。CREATE TABLE SC (Sno CHAR(9)NOT NULL,Cno CHA
7、R(4)NOT NULL,Grade SMALLINT,PRIMARY KEY (Sno,Cno),/*表级定义外码*/FOREIGN KEY(Sno)REFERENCES Student(Sno),/*表级定义外码*/FOREIGN KEY(Cno)REFERENCES Course(Cno)/*表级定义外码*/);第13页/共26页5.2 参照完整性参照完整性将多个表的相应元组联系起来。因此,对被参照表和参照表进行增、删、改等操作时,可能会破坏参照完整性,因此系统必须进行检查以保证这多个表的相容性。当发生破坏参照完整性的违约情况时,系统通常做如下违约处理:(1)拒绝执行。通常为默认处理策略
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 完整性

限制150内