SQL数据完整性
-
数据完整性
保证用户输入的数据保存到数据库中是正确的,在创建表的时候给表添加约束 -
实体完整性
表的每一行数据称为一个实体,实体完整性指每一行数据是唯一的,不重复的
标识列:系统自动增长,永不重复
主键:唯一、非空,一个表的主键只有一个
唯一键:唯一、可以为空,但只能出现一次为空,一个表可以有多个唯一键 -
域完整性
域指的是字段,域完整性就是保住字段值是合理、准确的
非空、数据类型、default、check约束、关系(主外键约束) -
自定义完整性
用户自己定义的约束规则
check约束、存储过程、触发器 -
引用完整性
一个表的某个字段引用另外一个表的某个字段值,被引用的表称为主表,引用的表称为从表或外键表
1、选择外键表去创建主外键关系
2、创建主外键关系的字段类型和意义要相同
3、建立关系的字段在主表中必须为主键或唯一键
4、添加数据的时候先添加主表,再添加外键表
5、删除数据的时候先删除外键表,在删除主表数据 -
补充
关系建立的表的级联操作:
1、不执行任何操作:该报错就报错,该删除就删除
2、级联:删除主表记录,对应的从表记录也将删除
3、set null:删除主表记录,从表对应记录的字段值=null,前提是这个字段可以设置为null
4、set default: 删除主表记录,从表对应记录的字段值=设置的默认值,前提是这个字段已经设置了默认值