教据库系统概论 An Introduction to Database system 第五章数据库完整性 中国人民大学信息学院 An Introduction to Database System
An Introduction to Database System 中国人民大学信息学院 数据库系统概论 An Introduction to Database System 第五章 数据库完整性
数据库完整性 ◇数据库的完整性 数据的正确性和相容性 ◇数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 An Introduction to Database System
An Introduction to Database System 数据库完整性 ❖ 数据库的完整性 ▪ 数据的正确性和相容性 ❖ 数据的完整性和安全性是两个不同概念 ▪ 数据的完整性 ➢ 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 ➢ 防范对象:不合语义的、不正确的数据 ▪ 数据的安全性 ➢ 保护数据库防止恶意的破坏和非法的存取 ➢ 防范对象:非法用户和非法操作
数据库完整性(续) 为维护数据库的完整性,DBMS必须: ■1.提供定义完整性约束条件的机制 ■2提供完整性检查的方法 ■3违约处理 An Introduction to Database System
An Introduction to Database System 数据库完整性(续) 为维护数据库的完整性,DBMS必须: ◼ 1.提供定义完整性约束条件的机制 ◼ 2.提供完整性检查的方法 ◼ 3.违约处理
第五章数据库完整性 51实体完整性 52参照完整性 53用户定义的完整性 54完整性约束命名字句 *5.5域中的完整性限制 56触发器 57小结 An Introduction to Database System
An Introduction to Database System 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名字句 *5.5 域中的完整性限制 5.6 触发器 5.7 小结
5.1实体完整性 ◆51.1实体完整性定义 ◆51.2实体完整性检查和违约处理 An Introduction to Database System
An Introduction to Database System 5.1 实体完整性 ❖5.1.1 实体完整性定义 ❖5.1.2 实体完整性检查和违约处理
5.1.1实体完整性定义 关系模型的实体完整性 CREATE TABLE中用 PRIMARY KEY定义 单属性构成的码有两种说明方法 定义为列级约束条件 定义为表级约束条件 今对多个属性构成的码只有一种说明方法 定义为表级约束条件 An Introduction to Database System
An Introduction to Database System 5.1.1 实体完整性定义 ❖ 关系模型的实体完整性 ▪ CREATE TABLE中用PRIMARY KEY定义 ❖ 单属性构成的码有两种说明方法 ▪ 定义为列级约束条件 ▪ 定义为表级约束条件 ❖ 对多个属性构成的码只有一种说明方法 ▪ 定义为表级约束条件
实体完整性定义(续) [例1将 Student表中的Sno属性定义为码 (1)在列级定义主码 CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY, Sname CHAR(20)NOT NULL SseX CHAR(2) Sage SMALlInT Sdept CHAR(20)) An Introduction to Database System
An Introduction to Database System 实体完整性定义(续) [例1] 将Student表中的Sno属性定义为码 (1)在列级定义主码 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20));
实体完整性定义(续) (2)在表级定义主码 CREATE TABLE Student (Sno CHAR(9) Sname CHAR(20 )NOT NULL, Ssex CHAR(2) Sage SMALLINT Sdept CHAR(20) PRIMARY KEY (Sno) An Introduction to Database System
An Introduction to Database System 实体完整性定义(续) (2)在表级定义主码 CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2) , Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) );
实体完整性定义(续) 例2]将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC (Sno CHAR(9)NOT NULL Cno CHAR(4)NOT NULL Grade SMALLINT PRIMARY KEY(Sno,Cno)/只能在表级定义主码 An Introduction to Database System
An Introduction to Database System 实体完整性定义(续) [例2]将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/ );
5.1实体完整性 ◇51.1实体完整性定义 512实体完整性检查和违约处理 An Introduction to Database System
An Introduction to Database System 5.1 实体完整性 ❖5.1.1 实体完整性定义 ❖5.1.2 实体完整性检查和违约处理