建立主索引可以保证数据的实体完整性:
对于已经存在的数据表,通过alter table 命令建立主索引
alter table 数据表名 add primary key 索引名(字段名)
通过check设置域完整性:
alter table 数据表名 add constraint 约束名 check (约束条件)
设置借阅表和读者表的参照完整性:
alter table <子表> add
[CONSTRAINT <外键名>]
FOREIGN KEY <字段名>
REFERENCES <主表> <主键列>
on delete restrict|cascade|set null
on update delete restrict|cascade|set null
在设置参照完整性后, 当主表中没有相关数据时,子表中无法插入对应的记录。
如果delete设置为cascade, 在删除主表数据的时候,子表的数据将同时被删除;
如果delete设置为restrict, 子表中存在数据时,主表的数据将无法删除
如果delete设置为set null, 在删除主表数据的时候,子表的数据被设置为null值 (该列可以设置为null值的情况下)
如果update设置为cascade, 在修改主表的关键字段的值的时候,子表中相关数据的字段的值将同时被修改;
如果update被设置为restrict, 子表中存在数据时,主表的相关数据的关键字段的值将无法修改
如果update设置为set null, 在修改主表的关键字段的值的时候,子表中相关数据的字段的值将被设置为null (该列可以设置为null值的情况下)
删除外键的命令为
alter table 数据表名 drop foreign key 外键名