DB5. 数据库完整性.pdf
文本预览下载声明
5章数据库完整性
Qingdao University of Technology
概述
l数据库的完整性
l指数据的正确性和相容性
l相容性
l指表示同一事实的两个数据应当一致
l正确性
l指数据的合法性、数据是否属于所定义域的有效范围
School of Comp uter Engineering
Qingdao University of Technology
概述
l数据的安全性和完整性都是为了保护 据库的滥用
l数据的安全性
l保护数据库防止恶意的破坏和非法的存取
l防范对象:非法用户和合法用户的非法操作,通常是
恶意的
l数据的完整性
l防止数据库中存在不符合语义的数据,也就是防止
据库中存在不正确的数据
l防范对象:不合语义的、不正确的 据,通常是无意
的
School of Comp uter Engineering
Qingdao University of Technology
概述
l例如
l通常情况下,成绩的范围是0~ 100分
l但改成120分,则破坏了数据的完整性
l但由50分改成80分,未破坏数据的完整性,但可
能破坏了数据的安全性
School of Comp uter Engineering
Qingdao University of Technology
概述
l为维护数据库的完整性,DBMS必须能够
l提供定义完整性约束条件的机制
l一般由SQL 的DDL语句来实现
l作为数据库模式的一部分存入数据字典中
l提供完整性检查的方法
l一般在INSERT 、UPDATE、DELETE语句执行完后开
始检查
l违约处理
l当违背完整性约束条件时,采取的动作(拒绝或级联)
School of Comp uter Engineering
Qingdao University of Technology
实体完整性
l实体完整性定义
l在CREATE TABLE 中用PRIMARY KEY定义
l单属性
l列级约
l表级约
l多属性
l表级约
School of Comp uter Engineering
Qingdao University of Technology
实体完整性
l将Student表中的Sno属性定义为主码
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY, /*列级*/
sName CHAR(20) NOT NULL,
Ssex CHAR(2),
Sage INT,
Sdept CHAR(20)
);
School of Comp uter Engineering
Qingdao University of Technology
实体完整性
l将Student表中的Sn
显示全部