第5章约束、默认和规则 5.1数据完整性 5.2约束 5.3默认 54规贝
第5章 约束、默认和规则 5.1 数据完整性 5.2 约束 5.3 默认 5.4 规则
5.1数据完整性 数据库应用程序开发中的一个重要步驟就是设计和 第 5实施数据的完整性,并确定实施数据完整性的最佳方 章约束 案 数据完整性是指数据库中数据的正确性和一致性, 是衡量数据库质量的一个重要标准。在使用 INSERT 默 UPDATE和 DELETE命令修改数据库中的数据时,数 认 和 据的完整性可能被破坏,如插入了一个不存在学生的 规成绩,或将学生的班号修改为一个不存在的班级等 则通过定义数据完整性规则, SQL ServerI可以通过自身 提供的完整性规则有效地管理数据的输入,而不必使 用额外的应用程序来协助管理,这样一方面可以节省 系统开销,另一方面将使数据库中的数据独立于应用 程序,使创建开放式数据库系统成为可能
5.1 数据完整性 数据库应用程序开发中的一个重要步骤就是设计和 实施数据的完整性,并确定实施数据完整性的最佳方 案。 数据完整性是指数据库中数据的正确性和一致性, 是衡量数据库质量的一个重要标准。在使用INSERT、 UPDATE和DELETE命令修改数据库中的数据时,数 据的完整性可能被破坏,如插入了一个不存在学生的 成绩,或将学生的班号修改为一个不存在的班级等。 通过定义数据完整性规则,SQL Server可以通过自身 提供的完整性规则有效地管理数据的输入,而不必使 用额外的应用程序来协助管理,这样一方面可以节省 系统开销,另一方面将使数据库中的数据独立于应用 程序,使创建开放式数据库系统成为可能。 第 5 章 约 束 、 默 认 和 规 则 < >
5.1数据完整性 5.1.1域完整性 域完整性是指给定列的输入有效性。强制域 约有效性的方法有:通过限制数据类型(包括自 束 定义数据类型)、格式( CHECK约束和规则)或 默犬 认 可能的取值范围( FOREIGN KEY约束、 CHECK约 和束、 DEFAULT定义、 NOT NULL定义和规则)来 则实现 如:性别字段只能取“男”或“女”;课程 成绩取值范围为0∽100;姓名字段不能为空; 性别字段的默认值为“男”等等。 ○
5.1 数据完整性 5.1.1 域完整性 域完整性是指给定列的输入有效性。强制域 有效性的方法有:通过限制数据类型(包括自 定义数据类型)、格式(CHECK约束和规则)或 可能的取值范围(FOREIGN KEY约束、CHECK约 束、DEFAULT定义、NOT NULL定义和规则)来 实现。 如:性别字段只能取“男”或“女”;课程 成绩取值范围为0∽100;姓名字段不能为空; 性别字段的默认值为“男”等等。 第 5 章 约 束 、 默 认 和 规 则 < >
5.1数据完整性 5.1.2实体完整性 最实体完整性是指表中的每一行必须是惟一的 约实体完整性强制表中的所有记录都有一个惟 束 的标识列,这个惟一标识列可能是一列,也可 閃能有若干列的组合。强制实体完整性的方法有 和 UNIQUE约束、 PRIMARY KEY约束或 则 IDENTITY属性 如:在学生情况表中,学生的学号是惟一的 它与每个学生一一对应;成绩表中,学号+课 程号是惟一的,它与每个学生的每门课相对应
5.1 数据完整性 5.1.2 实体完整性 实体完整性是指表中的每一行必须是惟一的。 实体完整性强制表中的所有记录都有一个惟一 的标识列,这个惟一标识列可能是一列,也可 能有若干列的组合。强制实体完整性的方法有: UNIQUE 约 束 、 PRIMARY KEY 约束或 IDENTITY属性。 如:在学生情况表中,学生的学号是惟一的, 它与每个学生一一对应;成绩表中,学号+课 程号是惟一的,它与每个学生的每门课相对应。 第 5 章 约 束 、 默 认 和 规 则 < >
5.1数据完整性 第5章约束 5.1.3参照完整性 参照完整性确保数据库中数据的一致性。在SQL Server中,参照完整性基于外键(引用表)与主键 (被引用表)之间或外键与惟一键之间的关系(通过 和 FOREIGN KEY和 CHECK约束)。通过外键将引用 规表和被引用表关联起来。参照完整性通过已定义的表 则 间关系,确保键值在所有表中都必须一致,因此不能 引用不存在的值(即指向不存在的行)。如果在被引 用的表中,某一记录被外部键引用,则该记录就不能 删除;若需要更改键值,那么在整个数据库中,对该 键值的所有引用都要进行一致的更改,以保证数据的 参照完整性
5.1 数据完整性 5.1.3 参照完整性 参照完整性确保数据库中数据的一致性。在SQL Server中,参照完整性基于外键(引用表)与主键 (被引用表)之间或外键与惟一键之间的关系(通过 FOREIGN KEY和 CHECK约束)。通过外键将引用 表和被引用表关联起来。参照完整性通过已定义的表 间关系,确保键值在所有表中都必须一致,因此不能 引用不存在的值(即指向不存在的行)。如果在被引 用的表中,某一记录被外部键引用,则该记录就不能 删除;若需要更改键值,那么在整个数据库中,对该 键值的所有引用都要进行一致的更改,以保证数据的 参照完整性。 第 5 章 约 束 、 默 认 和 规 则 < >