Unique约束

Unique约束可应用于一列或多列字段上。如果字段值存在,必须为唯一的,可以取null值
1、一张表只能有一个PK约束但可以有多个Unique约束
2、作为PK的字段不能为null,但作为Unique的字段可以为null,但不为null的行必须是Unique的
3、当创建一个PK时,创建一个Index,创建一个Unique时也创建一个Index
4、PK和Unique约束字段可以作为FK的父亲。FK约束字段引用PK约束,也引用Unique约束

创建语句:
  CREATE TABLE temp (pk NUMBER PRIMARY KEY, a NUMBER, b NUMBER);
     ALTER TABLE temp ADD CONSTRAINT uk_temp_a_b UNIQUE (a, b);

Example:
CREATE TABLE students
 (student_id    VARCHAR2(10) NOT NULL,
  student_name  VARCHAR2(30) NOT NULL,
  college_major VARCHAR2(15) NOT NULL,
  status        VARCHAR2(15) NOT NULL,
  state         VARCHAR2(2),
  license_no    VARCHAR2(30)) TABLESPACE student_data;

ALTER TABLE students
  ADD CONSTRAINT pk_students PRIMARY KEY (student_id)
  USING INDEX TABLESPACE student_index;

ALTER TABLE students
  ADD CONSTRAINT uk_students_license
  UNIQUE (state, license_no)
  USING INDEX TABLESPACE student_index;

ALTER TABLE students
   ADD CONSTRAINT ck_students_st_lic
   CHECK ((state IS NULL AND license_no IS NULL) OR
          (state IS NOT NULL AND license_no is NOT NULL));