키(Key)의 종류와 특징 완전 정리

반응형
SMALL

관계형 데이터베이스에서 "키"는 데이터의 기준점입니다.
테이블에서 어떤 데이터를 식별하고, 어떤 관계로 연결할지 결정하는 역할을 하죠.

이번 글에서는 키의 종류와 각각의 차이점들을 정리해보겠습니다.

 

1. 키(Key)란?

릴레이션(테이블)에서 튜플을 식별하거나, 테이블 간 연결을 위해 사용하는 속성(Attribute)들의 집합

2. 키의 종류

키 종류 설명
후보키(Candidate Key) 튜플을 유일하게 식별할 수 있는 속성 집합 (유일성 + 최소성 만족)
기본키(Primary Key) 후보키 중 실제로 테이블에서 선택한 주 식별자 (NOT NULL, UNIQUE 필수)
슈퍼키(Super Key) 유일성은 만족하되, 최소성은 만족하지 않는 키 (후보키 + 추가 속성)
외래키(Foreign Key) 다른 테이블의 기본키를 참조하는 키 (테이블 간 관계 설정용)
대체키(Alternate Key) 후보키 중 기본키로 선택되지 않은 나머지 키들

3. 예시 테이블

customer_id name email
1 홍길동 hong@email.com
2 이몽룡 lee@email.com

 

  • 후보키: customer_id, email
    (둘 다 유일성 + 최소성 만족)
  • 기본키: customer_id (선택된 후보키)
  • 대체키: email (후보키지만 기본키로 선택되지 않음)
  • 슈퍼키: customer_id, customer_id + name, email 등 유일하지만 최소성은 아님
  • 외래키: 다른 테이블(Order.customer_id)이 이 customer_id를 참조함

✔️ 후보키: 유일한 후보들
✔️ 기본키: 대표로 선택된 키
✔️ 외래키: 다른 테이블과 연결하는 브릿지
정확한 키 설계는 데이터 무결성과 관계 표현의 핵심입니다.

 

반응형
LIST