DB/SQL

[SQL] PK와 UNIQE INDEX 차이점

토킹포테토 2023. 4. 6. 16:34
728x90

차이 : PK = NOT NULL, UNIQE INDEX NULL 허용

 

구분 Primary Key Unique Index
정의 데이터베이스 테이블 설계를 고유하게 식별하는 키 중복 값을 허용하지 않는 인덱스
특징 1. 중복될 수 없는 유일한 단일값을 가짐
2. NOT NULL
3. Object 속성 : iConstratint로써 제약조건 생성
4. 테이블당 PK는 하나, 다중컬럼은 가능
1. 인덱스가 걸려있는 커럼에 중복될 수 없는 유일 값 가짐.
2. NULL 허용
3. Object 속성 : index
4. 여러개 생성 가능

 

* 테이블 생성 시, PRIMARY KEY 1개

CREATE TABLE onePrimaryKey (
code varchar(5) primary key,
name varchar(20)
)

 

* 테이블 생성 시 , 다중 PRIMARY KEY

CREATE TABLE PrimaryKey (
code varchar(5),
name varchar(20),
constraint grop_PK primary key(code, name)
)

 

* 테이블 생성 후 PRIMARY KEY 추가

CREATE TABLE addPrimaryKey

(A varchar2(10) ,
B varchar2(20),
C NUMBER
)
;

ALERT TABLE addPrimaryKey ADD CONSTRAINT code_PK primary key(A);

 

 

*  UNIQUE INDEX  생성

  //하나
  CREATE UNIQUE INDEX TEST_PK ON TEST_UNIQUE (CONN_ID) ;
  
  //다중
  CREATE UNIQUE INDEX TEST_PK ON TEST_UNIQUE (CONN_ID, LOG_DTTM) ;