数据完整性约束
8.1.1 定义完整性约束
各种完整性约束是数据库关系模式定义的一部分
实体完整性:关系的主属性,即主码的组成不能为空
主键约束:primary key
候选键约束:候选键的值必须是唯一的且不能为null unique
一个表只能有一个主键,可以有多个候选键
参照完整性:foreign key (***,…) references ***(***(length) (asc/desc),…) (match full/match partial/match simple) (on delete restrict/cascade/set null/no action) (on update …);
用户定义完整性:某一具体应用所涉及的数据应满足的要求
非空约束:not null
Check约束:check+SQL表达式
基于列的check约束:cust_id int not null check(cust_id in (select cust_id from customers)),
基于表的check约束:check(order >= 2000 and order_amount <= 5)