数据库-第5章完整性

五、数据库完整性(在SQL语句中进行考察)

            数据库完整性:数据的正确性和相容性。

实体完整性

参照完整性

用户定义的完整性

1.实体完整性

表现:创建表中的primary key

要求:(1)检查主码是否唯一,如果不唯一则拒绝插入或修改;

           (2)检查主码各个属性是否为空,只要有一个为空则拒绝插入或修改。

2.参照完整性

表现:创建表中的foreign key

要求:(1)拒绝执行NO ACTION 不允许执行,这个是默认策略;

             (2)   级联操作CASCADE;

           (3)设置为NULL;

3.用户定义的完整性

表现:属性上的约束条件:not null、unique、check语句

           元组上的约束条件:check(ssex='女' or sname not like 'Ms.%')

[ 问题 ] 哪些是属于只需要极小开销就可以检测的完整性?


断言

create assertion 断言名称 check语句;

drop assertion   断言名称;


触发器

创建触发器:
Create trigger <触发器名>
before|after <触发事件> on <表名>
referencing 
  newrow as xx,
  oldrow as xx
for each row|statement
begin
    xxxxx;
end;

删除触发器:
drop trigger <触发器名> on <表名>;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值