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