第四章 实施数据完整性规则
目标
1 了解数据完整性规则 2 理解各种约束的作用 3 在数据表上创建和删除约束 4 理解标识列的概念 5 根据实际需要创建标识列
1 数据完整性规则--数据完整性用来保证数据的一致性,正确性,分为列完整性,表完整性和参照完整性
1 列完整性也称为用户定义完整性,数据必须在有效范围内,与定义相符合。 2 表完整性,也称为实体完整性,数据表中必须有一个主键,且不能为空 3 参照完整性,也称为引用完整性,外键值必须与相应的主键值参照,数据位数和类型必须完全一致。外键是一个来自两个表的公共键,通过外键建立表与表之间的联系 4 1 对外键执行插入时,保证外键值一定要在主表的主键中存在。 5 2 更新外键值时,要保证更新后的外键值在主表中的主键值存在, 6 3 更新主键值时一定注意外键是否存在该值,如果存在需要阻止更新或者级联更新所有相关的外键 7 4 删除主键时,观察该主键在外键中是否存在,如果存在,阻止更新或者级联更新
2 约束简介
1 主键约束 实现实体完整性规则,其值能唯一标识数据库中每一行都是可识别的和唯一的 2 外键约束 实现参照完整性规则,使外键表中的数据与主键表数据保持一致。 外键参照的列可以是主键也可以是唯一性约束的列 3 唯一性约束 基于一列或者多列定义,目的是保证在非主键的一列或多列不能输入相同的值,该约束只能删除不能修改 4 检查约束 用于限制列的取值范围,可以限制一个列的取值范围,也可以限制一个表中多个列之间的取值约束关系。在对列进行更新时,系统可以自行判定列值的有效性 5 默认值约束 为该列提供默认值约束,如果没有使用默认的,同时一列只可以有一个默认值约束,且不能与IDENTITY属性和TIMESTAMP属性一起使用
3 创建主键约束,创建外键约束,创建唯一性约束,创建检查约束,创建默认值约束,删除约束 代码后补
4 使用标识符实施数据的完整性
1 如果一个数据表中没有明显的主键列,就可以使用标识符确保表中不会出现重复记录,用IDENTITY属性建立 2 1 一个表中有一项定义为IDENTITY属性,数据类型为数值型 3 2 不允许为空,也不能有检查约束 4 3 经常删除的列尽量不要用 5 4 通过递增种子值方法生成下一标识符,可指定种子和增量值,默认为1. 适用范围如选课记录表,图书借阅记录表