数据的完整性是指数据的正确性和相容性。数据的正确性是指数据符合现实世界的语义反映当前实际状况的。数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。
数据库的完整性和数据库的安全性是两个既有联系又不同的概念。
数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。
数据库的安全性是保护数据库防止恶意破坏和非法存取。
完整性检查和控制的防范对象是不合语义、不正确的数据,防止他们进入数据库。
安全性检查和控制的防范对象是非法用户和非法操作,防止他们对数据库的非法存取。
-
提供定义完整性约束条件的机制(立法)
它表达了给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态和状态的变化,以保证数据的正确性、有效性、相容性。 -
提供完整性检查方法(执法)
一般在DELETE、INSERT、UPDATE语句执行后开始检查,也可以在事务提交时检查。 -
进行违约处理(处法)
数据库管理系统若发现用户的操作违背了完整性约束条件将采用一定的动作。如拒绝执行(NO ACTION)、或级联(CASCADE)执行其他操作。进行违约处理保证数据的完整性。
实体完整性
关系模型的实体完整性是在CREATE TABLE中用PRIMARY KEY中定义的。
列级约束条件 | 表级约束条件 |
---|---|
单属性 | 单属性、多属性 |
定义实体完整性
CREATE TABLE Student
(
Sno CHAR(20) PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Ssex CHAR(2)
);
CREATE TABLE Student
(
Sno CHAR(20) PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Ssex CHAR(2),
PRIMARY KEY(Sno)
);