
网络数据库 NETWORK DATABASE 主讲教师:网络数据库课题组 天津电子信息技术学院·快什学院 ⑧0①⊙

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 第九章 数据完整性 第一节数据完整性的概念和类型 第二节约束 第三节DEFAULT 第四节RULE 0④①⊙
1 第九章 数据完整性 第一节 数据完整性的概念和类型 第二节 约束 第三节 DEFAULT 第四节 RULE

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 第一节数据完整性的概念和类型 1.数据完整性: 指存储在数据库中的数据的一致性和准确性 •数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要 标准。 ·在用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能 会遭到破坏。可能会存在下列情况:无效的数据被添加到数据库的表中。如:将 学生考试成绩输入成负数。 0④①⊙ 2
2 第一节 数据完整性的概念和类型 1.数据完整性: 指存储在数据库中的数据的一致性和准确性 •数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要 标准。 •在用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能 会遭到破坏。可能会存在下列情况:无效的数据被添加到数据库的表中。如:将 学生考试成绩输入成负数

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 2.类型: ()域完整性:也称列完整性,指定一个数据集对某一列是否有效和确 定是否允许空值。 (2)实体完整性:也称行完整性,要求表中的所有行有一个唯一的标识 符一主键值。 ·(3)参照完整性:参照完整性总是保证主关键字和外部关键字之间的参 照关系。它涉及两个或两个以上表数据的一致性维护。 ⑧④⊙
3 2.类型: •⑴域完整性:也称列完整性,指定一个数据集对某一列是否有效和确 定是否允许空值。 •⑵实体完整性:也称行完整性,要求表中的所有行有一个唯一的标识 符——主键值。 •⑶参照完整性:参照完整性总是保证主关键字和外部关键字之间的参 照关系。它涉及两个或两个以上表数据的一致性维护

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 第二节 约束 一、约束 三、类型 三、定义check约束 四、定义PRIMARY KEY约束 五、定义UNIQUE约束 六、定义FORGIGN KEY约束 00①⊙
4 第二节 约束 一、约束 二、类型 三、定义check约束 四、定义PRIMARY KEY 约束 五、定义UNIQUE约束 六、定义FORGIGN KEY 约束

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 一、约束 •约束是SQL Server提供的自动保持数据库完整性的一种方法。 0④①⊙
5 一、约束 •约束是SQL Server提供的自动保持数据库完整性的一种方法

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 二、类型 不同的约束强制不同类型的数据完整性。表6-2给出了两者的对应关 系。P10 完整性类型 约束类型 非空约束 域完整性 DEFAULT CHECK 实体完整性 PRIMARY KEY UNIQUE 参照完整性 FOREIGN KEY 0④⊙
6 二、类型 不同的约束强制不同类型的数据完整性。表6-2 给出了两者的对应关 系。P10 完整性类型 约束类型 域完整性 非空约束 DEFAULT CHECK 实体完整性 PRIMARY KEY UNIQUE 参照完整性 FOREIGN KEY

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 三、定义check约束 1.CHECK约束语句: ALTER TABLEADD CONSTRAINT CHECK 例:在student表的年龄上加入约束16一-35 ALTER TABLE student ADD CONSTRAINT ck_student_age CHECK(age between 16 and 35) 2.企业管理器 例:定义年龄在16一一35 0④①⊙ 7
7 三、定义check约束 1.CHECK约束语句: ALTER TABLE ADD CONSTRAINT CHECK 例:在student表的年龄上加入约束16――35 ALTER TABLE student ADD CONSTRAINT ck_student_age CHECK(age between 16 and 35) 2.企业管理器 例:定义年龄在16――35

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 四、定义PRIMARY KEY约束 ALTER TABLE ADD CONSTRAINTPRIMARY KEY CLUSTERED(列名) 例:对student表的sid列建立主关键字 ALTER TABLE student ADD CONSTRAINT pk_student PRIMARY KEY CLUSTERED(sid) ⑧0①⊙
8 四、定义PRIMARY KEY 约束 ALTER TABLE ADD CONSTRAINT PRIMARY KEY CLUSTERED(列名) 例:对student表的sid列建立主关键字 ALTER TABLE student ADD CONSTRAINT pk_student PRIMARY KEY CLUSTERED(sid)

网络数据库 NETWORK DATABASE 授课教师:网络数据库课题组 五、定义UNIQUE约束 ALTER TABLE ADD CONSTRAINT UNIQUE NONCLUSTERED(列名) 例:ALTER TABLE student ADD CONSTRAINT u_student_name UNIQUE NONCLUSTERED(name) 00①⊙
9 五、定义UNIQUE约束 ALTER TABLE ADD CONSTRAINT UNIQUE NONCLUSTERED(列名) 例:ALTER TABLE student ADD CONSTRAINT u_student_name UNIQUE NONCLUSTERED(name)