文档介绍:An Introduction to Database System 四川九寨沟 An Introduction to Database System 中国人民大学信息学院王珊数据库系统概论 An Introduction to Database System 第五章数据库完整性 An Introduction to Database System 数据库完整性?什么是数据库的安全性? ?什么是数据库的完整性? ?两者的区别和联系? ? DBMS 安全性子系统组成? ? DBMS 完整性子系统组成? An Introduction to Database System 数据库完整性?数据库的完整性?指数据的正确性和相容性?正确性(有效性):数据的合法性,是否在定义的有效范围?相容性(一致性) :同一事实的 2个数据相同?例如: ?学生的学号必须唯一?性别只能是男或女?本科学生年龄的取值范围为 14~50 的整数?学生所选的课程必须是学校开设的课程等 An Introduction to Database System 数据的完整性和安全性是两个不同概念?数据的完整性?是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据?完整性检查和控制的防范对象: 不合语义的、不正确的数据?数据的安全性?是保护数据库防止恶意的破坏和非法的存取?安全性控制的防范对象: 非法用户和非法操作,防止他们对数据库数据的非法存取 An Introduction to Database System 数据库完整性(续) 为维护数据库的完整性, DBMS 必须: ?完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件? SQL 标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性?这些完整性一般由 SQL 的 DDL 语句来实现 An Introduction to Database System 数据库完整性(续) ?一般在 INSERT 、 UPDATE 、 DELETE 语句执行后开始检查,也可以在事务提交时检查 ? DBMS 若发现用户的操作违背了完整性约束条件, 就采取一定的动作?拒绝(NO ACTION) 执行该操作?级连(CASCADE) 执行其他操作 An Introduction to Database System 第五章数据库完整性 实体完整性 参照完整性 用户定义的完整性 完整性约束命名字句 域中的完整性限制 触发器 小结 An Introduction to Database System 实体完整性 实体完整性定义 实体完整性检查和违约处理 An Introduction to Database System 实体完整性定义?关系模型的实体完整性? CREATE TABLE 中用 PRIMARY KEY 定义?单属性构成的码有两种说明方法?定义为列级约束条件?定义为表级约束条件?对多个属性构成的码只有一种说明方法?定义为表级约束条件