10-2. UNIQUE 제약 조건 > 학습자료 | IOTsw_u2 U2 Project
학습자료

SQL 10-2. UNIQUE 제약 조건

본문

 


UNIQUE키 무결성 제약 조건은 열 또는 열 집합(키)의 모든 값이 고유하게 유지되도록 한다.

즉 한 테이블에 있는 두 행은 지정된 열 또는 열 집합에서 중복된 값을 가질 수 없다.

UNIQUE키 예약 조건이 정의된 열 또는 열 집합을 고유 키라고 한다.

UNIQUE 제약 조건이 하나 이상의 열을 포함하는 경우 해당 열 그룹을 조합 고유 키라고 한다.

UNIQUE 제약 조건을 지정한 열 NOT NULL 제약 조건을 정의하지 않으면 이 열에는 널 값이 허용된다.

Oracle server는 널 값은 어떠한 값과도 동일한 것으로 취급하지 않으므로, NOT NULL 제약 조건이 없는 열에는 널 값이 포함한 행이 여러 개 존재할 수 있다.

그러나 MSSQL에서는 널 값이라고 할지라고 한 행만 NULL값을 가질 수 있다.

열에 널 값이 있어도 (또는 조합 UNIQUE키가 적용되는 모든 열에 널 값이 있어도) UNIQUE 제약 조건은 항상 만족된다.

참고 : 둘 이상의 열에 대한 UNIQUE 제약 조건 검색 방식 때문에 부분적으로 널을 포함할 수 있는 조합 UNIQUE키 제약

조건이 적용될 경우 널이 아닌 열(들)은 동일한 값을 가질 수 없다.

 

예제) UNIQUE 제약 조건 : 테이블 레벨

테이블 레벨 또는 열 레벨로 정의한다.

 

오라클 디비 예제 : 

CREATE TABLE employees(

employee_id NUMBER(6),

last_name VARCHAR2(25) NOT NULL,

email VARCHAR2(25) ,

salary NUMBER(8,2),

commission_pct NUMBER(2,2),

hire_date DATE NOT NULL,

 

... ,

 

CONSTRAINT emp_email_uk UNIQUE( email ));

☞설명) UIQUE 제약 조건

UNIQUE 제약 조건은 열 레벨 또는 테이블 레벨로 정의할 수 있다.

조합 고유 키는 테이블 레벨 정의를 사용하여 생성한다.

 

예제는 UNIQUE 제약 조건을 EMPLOYEES 테이블의 EMALL 열에 적용하며 제약 조건의 이름은 EMP_EMALL_UK이다.

참고 : Oracle server는 암시적(implicit)으로 고유 키 열에 고유 인덱스를 생성하여 UNIQUE 제약 조건을 시행한다.

 

예제) UNIQUE 제약 조건 : 컬럼(열) 레벨

테이블 레벨 또는 열 레벨로 정의한다.

 

오라클 디비 예제 : 

CREATE TABLE employees(

employee_id NUMBER(6),

last_name VARCHAR2(25) NOT NULL,

email VARCHAR2(25) CONSTRAINT emp_email_uk UNIQUE,

salary NUMBER(8,2),

commission_pct NUMBER(2,2),

hire_date DATE NOT NULL,

... ,

CONSTRAINT emp_email_uk UNIQUE(email));

 

☞설명)

위 예제와 비교하여 테이블 레벨과 열 레벨을 비교해 보자.

(

...

fname varchar(20) NOT NULL,

minit char(1) NULL,

lname varchar(30) NOT NULL,

job_id smallint NOT NULL

DEFAULT 1

REFERENCES jobs(job_id),

... ,

CONSTRAINT emp_email_uk UNIQUE(email)

)

 

MSSQL 디비 예제 :복합키 설정

CREATE TABLE sales

(

stor_id char(4) NOT NULL

REFERENCES stores(stor_id),

ord_num varchar(20) NOT NULL,

 

댓글목록

10. 제약 조건 포함​
이어쓰기 1.A 10-1. NOT NULL 제약 조건
이어쓰기 2.B 10-2. UNIQUE 제약 조건
이어쓰기 3.C 10-3. PRIMARY KEY 제약 조건
이어쓰기 4.D 10-4. FOREIGN KEY REFERENCES 제약 조건
이어쓰기 5.E 10-5. CHECK 제약 조건
이어쓰기 6.F 10-6. 제약조건 위반
이어쓰기 7.G 10-7. 서브 쿼리 구문을 사용한 테이블 생성
이어쓰기 8.H 10-8. 테이블 삭제
이어쓰기 9.I 10-9. 객체 이름 변경
이어쓰기 10.J 10-10. 테이블 주석 추가 --MSSQL에서는 지원하지 않는 기능이다.
이 원글에 이어쓰기

학습자료 목록

Total 91건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기