정보처리기사/2장 데이터 입출력 구현

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

hayoon2 2025. 4. 12. 01:12
반응형
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