一、数据完整性: 即, 数据的准确性和有效性
1) 实体完整性: 关注数据是否唯一. 使用约束: 主键, 唯一
2) 域完整性: 关注数据的格式是否符合要求. 使用约束: 非空, 外键, 检查
3) 引用完整性: 关注子表引用的主表数据是否存在. 使用约束: 外键
4) 自定义完整性: 自己定义规范其它情形. 可以使用存储过程procedure, 触发器trigger等手段规范
二、约束: 用于规范数据完整性的常用手段.
1) 主键约束:
关键字: primary key
效果:
i. 唯一
ii. 非空
iii.可被引用
iv. 主键索引
2) 非空约束:
关键字: not null
效果: 非空
3) 唯一约束:
关键字: unique
效果: 唯一, 可被引用
4) 外键约束:
关键字: foreign key
效果: 检查字段值在主表中是否存在
5) 检查约束:
关键字: check
效果: 根据check中的具体条件, 检查字段值的格式是否符合要求
注: 此约束在MySQL中可以执行, 但没有效果