Oracle笔记之数据完整性

1、维护数据完整性的方法:

约束、触发器、应用程序(过程、函数);

2、商业逻辑规则:

年龄范围,性别:男女。

3、约束:not null 

create table user (id number not null);

unique

可以为空,并且可以多个为空。

primary key

自动创建索引,不为空,不重复

foreign key

外键可以指向自己所在表,可以指向unique列。

和他指向的主键列类型要一致。

建表顺序

外键列可以为空,但不能是所指主键不存在的值。

check

create table 表名 (id number check(id>0));


check (列名 in (... , ...));

default ‘男’,放在check前面。


增加约束:

在一张表建好后对约束进行修改

alter table 表名 modify 字段名 not null;指定不能为空

alter table 表名 add constraint uni_id unique(字段); 增加唯一约束

alter table 表名 add constraint ch_addr check(字段 in ());增加检测约束



删除约束:

alter table 表名 drop 约束名;(删除主键时可以不带约束名)

加一个cascade 可以删除不让删的约束。级联删除,也会删除指向它的外键。


列级定义:在定义表时,直接在列后指出。

表级定义:在列定义完毕后,的后面指出约束。


当两列同时构成主键(复合主键)时,必须表级定义。



 






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值