oracle建表约束取整,Oracle中的建表约束详解

本文详细介绍了数据库约束的概念,包括NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY和CHECK等类型,强调了它们在确保数据完整性和一致性方面的重要性。通过创建表时定义约束或后期添加,用户可以自定义或使用系统预定义的约束。外键约束还涉及到ON DELETE CASCADE和ON DELETE SET NULL选项,分别用于级联删除和设置外键为空。文章以创建student表为例,展示了如何实际应用这些约束。

约束是表一级的限制

如果存在依赖关系,约束可以防止错误的删除数据

约束的类型:

NOT NULL

UNIQUE

PRIMARY KEY

FOREIGN KEY

CHECK

用户可以自定义约束,也可以使用Oracle Server的sys_cn格式命名约束

约束创建的时机:

创建表的时候,同时创建约束

表结构创建完成后

约束可以定义在列一级,或者是表一级

通过数据字典查看约束

非空约束 NOT NULL 保证列的值不能为空

唯一性约束 UNIQUE 保证列的值唯一

主键约束 PRIMARY KEY 将列设为主键

外键约束 FOREIGN KEY 将列设为外键

FOREIGN KEY: 在子表中,定义了一个表级的约束

REFERENCES: 指定表和父表中的列

ON DELETE CASCADE: 当删除父表时,级联删除子表记录

ON DELETE SET NULL: 将子表的相关依赖记录的外键值置为null

检查性约束 check

定义每一行记录所必须满足的条件

下面的表达式可以使用在check约束中:

引用CURRVAL, NEXTVAL, LEVEL, 和ROWNUM

调用SYSDATE, UID, USER, 和USERENV 函数

另一个表的查询记录

create table student(

sid number constraint student_PK primary key,

sname varchar2(20) constraint student_name_notnull not null,

gender varchar2(4) constraint student_gender check (gender in ('男','女')),

email varchar2(40) constraint student_email_unique unique

constraint student_email_notnull not null,

deptno number constraint student_FK references dept(deptno) ON DELETE CASCADE

);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值