본문 바로가기
카테고리 없음

복합키란?

by 4엘로디 2025. 2. 4.
반응형

데이터베이스 설계에서 복합키(Composite Key)는 두 개 이상의 칼럼을 결합하여 테이블 내의 각 레코드를 고유하게 식별하는 키를 말합니다. 이는 단일 칼럼으로는 레코드의 고유성을 보장하기 어려운 경우에 사용됩니다.

 

복합키의 특징

  • 유일성: 복합키는 결합된 칼럼들의 조합을 통해 각 레코드를 고유하게 식별합니다.
  • 최소성: 복합키를 구성하는 칼럼 중 하나라도 제외하면 고유성이 보장되지 않습니다.

 

[DB] 기본키 / 외래키 / 후보키 / 복합키 개념

 

[DB] 기본키 / 외래키 / 후보키 / 복합키 개념

키(key)는 DB에서 조건을 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 서로 구분할 수 있는 기준이 되는 속성을 뜻한다. 키의 종류로는 다음과 같이 있다.Super key (수퍼키)Candidate key (후

velog.io

 

복합키의 장점

  1. 데이터 무결성 보장: 복합키를 사용하면 특정 칼럼 조합의 고유성을 보장하여 데이터 중복을 방지하고 무결성을 유지할 수 있습니다.
  2. 정규화 지원: 데이터베이스 설계 시 정규화 과정에서 테이블 간의 관계를 명확하게 나타내는 데 도움이 됩니다.

 

복합키의 예시

예를 들어, 학생들의 수강 정보를 저장하는 테이블이 있다고 가정해봅시다. 이 테이블에는 학생ID과목코드 칼럼이 포함되어 있습니다. 단일 칼럼으로는 각 수강 기록을 고유하게 식별하기 어렵기 때문에, 학생ID과목코드를 결합한 복합키를 설정하여 각 수강 기록을 고유하게 식별할 수 있습니다.

 

복합키 설정 방법

SQL에서 테이블을 생성할 때, 다음과 같이 복합키를 설정할 수 있습니다:

CREATE TABLE 수강정보 (
    학생ID INT,
    과목코드 VARCHAR(10),
    성적 CHAR(1),
    PRIMARY KEY (학생ID, 과목코드)
);

위의 예시에서는 학생ID과목코드를 결합하여 복합키로 설정하였습니다. 이를 통해 각 학생의 수강 정보를 고유하게 식별할 수 있습니다.

 

복합키 사용 시 주의사항

  • 칼럼 선택: 복합키를 구성하는 칼럼은 반드시 레코드의 고유성을 보장할 수 있는 조합이어야 합니다.
  • 성능 고려: 복합키에 포함되는 칼럼의 수가 많아지면 인덱스 크기가 증가하여 성능에 영향을 줄 수 있으므로, 필요한 최소한의 칼럼으로 구성하는 것이 좋습니다.

복합키는 데이터베이스 설계 시 중요한 개념으로, 테이블 내 레코드의 고유성을 보장하고 데이터 무결성을 유지하는 데 필수적인 역할을 합니다.

반응형