概述Oracle Unique约束

数据库 Oracle
这里介绍定义了Oracle Unique约束的字段中不能包含重复值,可以为一个或多个字段定义Oracle Unique约束,因此,Unique即可以在字段级也可以在表级定义,在Oracle Unique约束的字段上可以包含空值.

Oracle还是比较常用的,于是我研究了一下Oracle Unique约束,在这里拿出来和大家分享一下,希望对大家有用。如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,但如果某个约束作用于多个字段,必须在表级定义约束

◆在定义约束时可以通过CONSTRAINT关键字为约束命名,如果没有指定,Oracle将自动为约束建立默认的名称定义primary key约束(单个字段)

  1. create table employees (empno number(5) primary key,...) 

指定约束名

  1. create table employees (empno number(5) constraint emp_pk primary key,...) 

定义primary key约束(多个字段,在表级定义约束)

  1. create table employees  
  2. (empno number(5),  
  3. deptno number(3) not null,  
  4. constraint emp_pk primary key(empno,deptno)  
  5. using index tablespace indx  
  6. storage (initial 64K  
  7. next 64K  
  8. )  

Oracle自动会为具有PRIMARY KEY约束的字段(主码字段)建立一个***索引和一个NOT NULL约束,定义PRIMARY KEY约束时可以为它的索引指定存储位置和存储参数

  1. alter table employees add primary key (empno)  
  2. alter table employees add constraint emp_pk primary key (empno)  
  3. alter table employees add constraint emp_pk primary key (empno,deptno)  
  4. not null约束(只能在字段级定义NOT NULL约束,在同一个表中可以定义多个NOT NULL约束)  
  5. alter table employees modify deptno not null/null 

Unique约束

  1. create table employees  
  2. ( empno number(5),  
  3. ename varchar2(15),  
  4. phone varchar2(15),  
  5. email varchar2(30) unique,  
  6. deptno number(3) not null,  
  7. constraint emp_ename_phone_uk unique (ename,phone)  
  8. )  
  9. alter table employees  
  10. add constraint emp_uk unique(ename,phone)  
  11. using index tablespace indx 

定义了Oracle Unique约束的字段中不能包含重复值,可以为一个或多个字段定义Oracle Unique约束,因此,Unique即可以在字段级也可以在表级定义,在Oracle Unique约束的字段上可以包含空值.

foreign key约束

◆定义为FOREIGN KEY约束的字段中只能包含相应的其它表中的引用码字段的值或者NULL值

◆可以为一个或者多个字段的组合定义FOREIGN KEY约束

◆定义了FOREIGN KEY约束的外部码字段和相应的引用码字段可以存在于同一个表中,这种情况称为"自引用"

◆对同一个字段可以同时定义FOREIGN KEY约束和NOT NULL约束

【编辑推荐】

  1. 详谈Oracle LogMiner工具
  2. 揭开Oracle LogMiner之谜
  3. 简单描述Oracle Clob类型
  4. 概述Oracle 10g服务器
  5. 简介Oracle xmltype
责任编辑:佚名 来源: 计世网
相关推荐

2010-04-29 12:31:02

Oracle uniq

2011-04-11 09:39:46

Oracle约束

2009-11-19 15:44:22

Oracle Chec

2011-05-26 10:30:12

Oracle数据库约束

2009-11-20 16:18:52

Oracle Rdbm

2010-04-13 17:10:59

Oracle Data

2011-05-19 13:49:07

Oracle物理结构

2010-04-01 14:55:04

Oracle约束

2011-05-20 11:33:06

ORACLE索引约束

2009-11-16 17:55:58

Oracle SQL语

2010-04-12 10:54:13

Oracle性能测试

2010-04-15 13:10:09

Oracle系统结构

2010-04-06 16:12:25

Oracle约束

2009-06-24 10:26:41

Oracle约束分区表

2009-11-17 15:02:27

Oracle客户端

2009-11-16 16:51:11

操作系统Oracle优

2011-03-07 13:30:53

Oracle数据库

2009-12-30 16:46:09

Ubuntu orac

2011-05-24 14:27:42

2011-05-20 10:30:20

ORACLE数据库性能优化
点赞
收藏

51CTO技术栈公众号