열에서 UNIQUE 제약 조건 설정하기
각 열에서 유효한 값을 확인하고 열에 있는 데이터의 무결성을 강제 적용하는 방법을 지난 PRIMARY KEY 제약 조건에 이어 테이블 열에서 FOREIGN KEY를 설정하는 경우까지 알아 보았다.
이번 기사에서는 기본키가 아닌 방법으로 특정열에 중복값이 입력되지 않도록 제어하는 UNIQUE 제약 조건에 대해서 이야기 해보자.
UNIQUE 제약 조건을 사용하면 기본 키가 아닌 특정 열에서 값이 중복되지 않도록 할 수 있다. UNIQUE 제약 조건 및 PRIMARY KEY 제약 조건이 모두 고유성을 강제 적용하지만 다음에 대해 고유성을 유지하려면 PRIMARY KEY 제약 조건 대신UNIQUE 제약 조건을 사용해야 한다.
어떤 경우에 UNIQUE 제약 조건을 사용하는가?
. 기본 키가 아닌 열 또는 열 집합일 경우
. 한 테이블마다 PRIMARY KEY 제약 조건은 하나만 정의될 수 있고 UNIQUE
제약 조건은 여러 개 정의될 수 있다.
. Null 값을 허용하는 열 일 경우
. PRIMARY KEY 제약 조건은 Null 값을 허용하지 않는 열에서만 정의할
수 있지만 UNIQUE 제약 조건은 Null 값을 허용하는 열에서도 정의할
수 있다.
. 하나의 열이나 여러 열의 조합에 고유성을 요구하려는 경우. Unique 제약
조건은 한 테이블에 여러 개 첨부할 수 있지만, 기본 키 제약 조건은 한
테이블에 하나만 첨부할 수 있다.
. Null 값을 허용하는 열에 고유성을 요구하려는 경우. Unique 제약 조건은
Null 값을 허용하는 열에 첨부할 수 있지만, 기본 키 제약 조건은 Null 값을
허용하지 않는 열에만 첨부할 수 있다. Null 값을 허용하는 열에 Unique
제약 조건을 첨부하면 제약 조건이 설정된 열에서 최대 한 행에만 Null 값이
들어갈 수 있다.
Unique 제약 조건을 만들려면
. 데이터베이스 다이어그램에서 제약 조건을 포함할 테이블을 마우스 오른쪽
단추로 클릭한 다음 바로 가기 메뉴에서 속성을 선택한다.
. 다른 방법으로는 제약 조건을 포함할 테이블에 대해 테이블 디자이너를 열고,
테이블 디자이너를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서
속성을 선택한다.
. 인덱스/키 탭을 선택한다.
. 새로 만들기를 선택한다. 인덱스 이름 상자에 시스템 할당 이름이 표시된다.
. 열 이름 아래에서 열 목록을 확장하고 제약 조건을 첨부할 열을 선택한다.
여러 열에 제약 조건을 첨부하려면 그 다음 행에서 추가로 열을 선택한다.
. 클러스터된 인덱스 만들기 확인란을 선택한다.
. 제약 조건 옵션을 선택한다.
. 테이블이나 다이어그램을 저장하면 데이터베이스에 Unique 제약 조건이
만들어진다.
[그림] 열에서 UNIQUE 제약 조건 설정하기 예
|