数据库-数据库完整性-数据完整性综合

建立主索引可以保证数据的实体完整性:

        对于已经存在的数据表,通过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  外键名

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值