约束是表一级的限制 
 如果存在依赖关系,约束可以防止错误的删除数据 
 约束的类型: 
 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 
);
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/4240.html
