유일 키(Unique Key)는 관계형 데이터베이스 관리 시스템(RDBMS)에서 사용되는 제약 조건 중 하나로, 특정 열(또는 열들)의 값이 테이블 내 모든 레코드에서 중복되지 않도록 보장한다. 즉, 유일 키에 지정된 컬럼은 각각의 행에 대해 서로 다른 값을 가져야 하며, 이를 통해 데이터의 무결성을 유지한다.
정의
- 유일성 보장: 유일 키가 적용된 컬럼은 NULL 값을 제외하고는 동일한 값이 두 번 이상 존재할 수 없다.
- 다중 컬럼 가능: 하나의 컬럼이 아닌 두 개 이상의 컬럼을 결합하여 복합 유일 키(composite unique key)를 정의할 수 있다.
특징
| 구분 | 유일 키 | 기본 키(Primary Key) |
|---|---|---|
| 중복 허용 여부 | 중복 불가 (NULL 허용 여부는 DBMS에 따라 다름) | 중복 불가, NULL 값 불가 |
| 개수 | 하나의 테이블에 여러 개 지정 가능 | 하나의 테이블에 하나만 지정 가능 |
| 식별 목적 | 특정 컬럼의 값이 고유함을 보장 | 레코드의 주 식별자 역할 수행 |
| 자동 인덱스 | 대부분의 DBMS가 자동으로 인덱스를 생성 | 기본 키와 동일하게 인덱스가 생성됨 |
구현 예시 (SQL)
-- 단일 컬럼 유일 키
CREATE TABLE 직원 (
사원번호 INT PRIMARY KEY,
이메일 VARCHAR(255) UNIQUE, -- 유일 키
이름 VARCHAR(100)
);
-- 복합 유일 키
CREATE TABLE 주문 (
주문번호 INT PRIMARY KEY,
고객ID INT,
주문일 DATE,
UNIQUE (고객ID, 주문일) -- 복합 유일 키
);
활용 맥락
- 데이터 무결성: 이메일, 주민등록번호, ISBN 등 실세계에서 고유성을 요구하는 속성에 적용한다.
- 검색 성능 향상: 유일 키 제약이 자동 인덱스를 생성하므로, 해당 컬럼을 이용한 조회 시 성능이 개선된다.
- 관계 설정: 외래 키(Foreign Key) 제약을 정의할 때, 참조 대상 컬럼이 유일 키이거나 기본 키이어야 한다는 규칙이 적용된다.
어원 및 용어 형성
- 유일(唯一): 한 번뿐인, 다른 것과 겹치지 않음을 의미하는 한자어.
- 키(key): 영어 key에서 차용된 데이터베이스 용어로, 레코드 식별에 사용되는 열을 뜻한다.
- 따라서 “유일 키”는 “고유한 값을 가지는 키”라는 의미로, 한국어 데이터베이스 분야에서 널리 사용되는 표현이다.
관련 용어
- 기본 키(Primary Key)
- 외래 키(Foreign Key)
- 인덱스(Index)
- 제약 조건(Constraint)
참고 문헌
- 김진수, 박성환, 데이터베이스 시스템 개론, (출판사, 연도) – 유일 키와 기본 키의 차이 설명.
- ISO/IEC 9075 (SQL:2016) – 표준 SQL 정의에 포함된 UNIQUE 제약.
이 항목은 현재까지 입증된 공신력 있는 자료에 근거하여 기술되었으며, 추가적인 상세 내용은 해당 분야 전문 서적 및 공식 표준 문서를 참고한다.