본문 바로가기
CS/Database

[데이터베이스] 키, 슈퍼키, 후보키, 기본키

by KOMAS 2025. 5. 24.
반응형

1️⃣ 슈퍼키(Super Key) – "일단 유일하면 다 슈퍼키"

슈퍼키는 테이블의 튜플(레코드)을 유일하게 식별할 수 있는 컬럼(또는 컬럼들의 집합)을 말합니다.
즉, 겹치지만 않으면 다 슈퍼키입니다.

예를 들어 학생 테이블이 있다고 가정합시다:

학번이름생년월일
2023001 홍길동 2000-01-01
2023002 김철수 1999-12-31
 

여기서 유일하게 식별 가능한 조합들:

  • 학번
  • 학번 + 이름
  • 학번 + 생년월일
  • 학번 + 이름 + 생년월일

이 전부 슈퍼키입니다.
즉, 유일성만 만족하면 다 슈퍼키입니다.


2️⃣ 후보키(Candidate Key) – "진짜 꼭 필요한 것만 남기자"

슈퍼키 중에서 더 이상 뺄 수 없는 최소한의 컬럼 조합, 그게 바로 후보키입니다.
즉, 유일성 + 최소성을 만족하는 키죠.

위 예시에서:

  • 학번 → ✅ 유일 + ✅ 최소 → 후보키
  • 학번 + 이름 → ✅ 유일하지만 ❌ 최소 아님 → 후보키 탈락

즉, 후보키는 슈퍼키 중에서 가장 날씬한 애들만 골라낸 것입니다.

💡 보통 후보키는 여러 개일 수도 있습니다.
예: 학번, 이메일 둘 다 유일하다면 둘 다 후보키!


3️⃣ 기본키(Primary Key) – "후보 중에서 너로 정했다!"

여러 후보키 중에서 테이블 대표 식별자로 선택된 키가 기본키입니다.

예:

  • 후보키1: 학번
  • 후보키2: 이메일

→ 여기서 우리는 학번을 기본키로 선택할 수 있습니다.
선택 안 된 후보키는 나중에 대체키(Alternate Key) 라고 부르기도 해요.

 

 

 

슈퍼키는 유일성만을 판별한다.

후보키는 유일성에 최소성까지 판별한다.

 

 

 

반응형