数据库完整性
数据库完整性
数据是数据库的核心,数据的正确和完整与否将直接影响数据库 的使用 数据的完整性指数据的正确性和相容性; 数据的完整性和安全性是两个不同的概念;
1 数据是数据库的核心,数据的正确和完整与否将直接影响数据库 的使用; 数据的完整性指数据的正确性和相容性; 数据的完整性和安全性是两个不同的概念;
1、数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作。 2、数据的完整性 防止数据库中存在不符合语义的数据(不正确的数据); 防范对象:不合语义的、不正确的数据
1 1、数据的安全性 • 保护数据库防止恶意的破坏和非法的存取; • 防范对象:非法用户和非法操作。 2、数据的完整性 • 防止数据库中存在不符合语义的数据(不正确的数据); • 防范对象:不合语义的、不正确的数据
数据库完整性概述 1、为了维护数据的完整性,DBMS必须能够: (1)提供定义完整性约束条件的机制 完整性约束条件=完整性规则,由SQL的DDL语句来实现; (2)提供完整性检查的机制 检查数据是否满足完整性约束条件的机制 (3)违约处理 若用户操作违反完整性约束条件,采取一定的动作,如拒绝执行、级联 执行或其他操作
1 1、为了维护数据的完整性,DBMS必须能够: (1)提供定义完整性约束条件的机制 完整性约束条件 = 完整性规则,由SQL的DDL语句来实现; (2)提供完整性检查的机制 检查数据是否满足完整性约束条件的机制; (3)违约处理 若用户操作违反完整性约束条件,采取一定的动作,如拒绝执行、级联 执行或其他操作。 一、数据库完整性概述
数据库完整性概述 2、数据库完整性约束机制分类 完整性约束条件作用的对象有关系、元组、列三种;可分为: (1)实体完整性:实体完整性是为了保证表中的数据唯一; (2)参照完整性:参照完整性用于确保相关联的表间的数据应保持-致, 避免因一个表的记录修改,造成另一个表的内容变为无效的.一般来说, 参照完整性是通过外键和主键来维护的; (3)域完整性:域完整性可以保证数据的取值在有效的范围内」 (4)用户定义完整性:由用户自行定义的,不同于前面3种的完整性, 也可以说一种强制数据定义
1 2、数据库完整性约束机制分类 完整性约束条件作用的对象有关系、元组、列三种;可分为: (1)实体完整性:实体完整性是为了保证表中的数据唯一; (2)参照完整性:参照完整性用于确保相关联的表间的数据应保持一致, 避免因一个表的记录修改,造成另一个表的内容变为无效的.一般来说, 参照完整性是通过外键和主键来维护的; (3)域完整性:域完整性可以保证数据的取值在有效的范围内; (4)用户定义完整性:由用户自行定义的,不同于前面3种的完整性, 也可以说一种强制数据定义。 一、数据库完整性概述
数据库完整性概述 3、实体完整性 在现实世界中,任何一个实体都有区别于其他实体的特征,即在数据 库中,所有的记录都应该有惟一的标识; ·常见的实体完整性机制包括:主键;惟一码
1 3、实体完整性 • 在现实世界中,任何一个实体都有区别于其他实体的特征,即在数据 库中,所有的记录都应该有惟一的标识; • 常见的实体完整性机制包括:主键;惟一码。 一、数据库完整性概述
数据库完整性概述 4、参照完整性 两个表的主键和外键之间数据的完整性,其含义包括 ·参照完整性保证被参照表和参照表之间数据的一致性; 防止数据丢失或者无意义的数据 禁止在从表中插入被参照表中不存在的关键字的记录 参照完整性的常见实现机制包括:外键、检查、触发器;存储过程
1 4、参照完整性 两个表的主键和外键之间数据的完整性,其含义包括: • 参照完整性保证被参照表和参照表之间数据的一致性; • 防止数据丢失或者无意义的数据; • 禁止在从表中插入被参照表中不存在的关键字的记录; • 参照完整性的常见实现机制包括:外键、检查、触发器;存储过程。 一、数据库完整性概述
数据库完整性概述 5、域完整性(列的完整性) ·域完整性要求列(字段)的数据具有正确的数据类型、格式和有效的 数值范围 ·域完整性的常见实现机制包括:默认值、检查、数据类型等
1 5、域完整性(列的完整性) • 域完整性要求列(字段)的数据具有正确的数据类型、格式和有效的 数值范围; • 域完整性的常见实现机制包括:默认值、检查、数据类型等。 一、数据库完整性概述
数据库完整性概述 6、用户自定义完整性 针对某一具体应用的数据必须满足的语义要求; 可直接由 RDBMS提供,而不必由应用程序承担 系统将实现数据完整性的要求直接定义在表上或列上; 常见的实现机制包括:创建数据表时的所有约束、触发器、存储过程
1 6、用户自定义完整性 • 针对某一具体应用的数据必须满足的语义要求; • 可直接由RDBMS提供,而不必由应用程序承担; • 系统将实现数据完整性的要求直接定义在表上或列上; • 常见的实现机制包括:创建数据表时的所有约束、触发器、存储过程。 一、数据库完整性概述
二、在 SQL Server中实现数据完整性 ·主键约束及唯一值约束 ·外键约束 check约束 断言 触发器
1 • 主键约束及唯一值约束 • 外键约束 • check 约束 • 断言 • 触发器 二、在 SQL Server 中实现数据完整性