[DB] 여러가지 키

수퍼키, 후보키, 기본키, 대체키, 외래키, 복합키 등 여러가지 키를 예시를 통해 살펴보자.
Hi's avatar
May 07, 2024
[DB] 여러가지 키

✅ 키 (Key)

📋
DB에서의 "키"는 데이터베이스에서 데이터를 식별하고 정렬하는 데 사용되는 중요한 개념이다.
 
키는 아래와 같이 다양한 종류가 존재한다.
  1. 수퍼키
  1. 후보키
  1. 기본키
  1. 대체키
  1. 외래키
  1. 복합키

✅ 키를 설명하기 위한 학생 테이블 예시

notion image
  • 학생마다 고유한 학번을 가지고 있다.
  • 학생마다 고유한 주민등록번호를 가지고 있다.
  • 학과, 학년, 이름은 중복될 수 있다.

✅ 수퍼키 (Super Key)

  • 수퍼키는 테이블에서 유일성을 보장하는 열 또는 열의 집합이다.
  • 즉, 특정 조건을 충족시키면 레코드를 식별할 수 있는 어떠한 열의 조합도 수퍼키가 될 수 있다.
  • 예를 들어, 학생 테이블에서 학번이름의 조합은 수퍼키가 될 수 있다.
 

✅ 후보키 (Candidate Key)

- 후보키는 기본 키로 사용될 수 있는 열의 집합이다.
- 유일성과 최소성(최소성은 다른 후보키의 부분집합이 아닌)을 만족해야 한다.
- 예를 들어, 학생 테이블에서 학번주민등록번호는 후보키가 될 수 있다.

✅ 기본키 (Primary Key)

- 기본키는 테이블에서 각 레코드를 고유하게 식별하는 데 사용된다. - NULL 값이 허용되지 않으며, 중복될 수 없다. - 예를 들어, 학생 테이블에서 학번이 기본키가 될 수 있다.

✅ 대체키 (Alternate Key)

- 대체키는 후보키 중에서 선택된 기본 키가 아닌 나머지 후보키들을 의미한다. - 즉, 기본키가 될 수 있었지만 선택되지 않은 후보키이다. - 예를 들어, 학생 테이블에서 주민등록번호가 기본키로 선택되었다면, 학번은 대체키가 될 수 있다.

✅ 외래키 (Foreign Key)

  • 외래키는 다른 테이블의 기본키를 참조하는 열로, 두 테이블 간의 관계를 정의하는 데 사용된다.
  • 외래키 값은 참조하는 테이블의 기본키 값이어야 한다.
  • 예를 들어, 학생 테이블에서 학과를 나타내는 열이 다른 테이블의 학과 테이블의 기본키를 참조하는 경우가 있다.

✅ 복합키 (Composite Key)

  • 복합키는 두 개 이상의 열의 조합으로 이루어진 키다.
  • 개별 열의 값만으로는 유일성을 보장하지 못하지만, 열들의 조합으로는 유일성을 보장할 수 있다.
  • 예를 들어, 위 학생 테이블에서 학과와 학년은 각 열만으로는 유일성을 보장할 수 없지만, {학과, 학년}의 조합으로는 유일성을 보장할 수 있다. 따라서 학과학년의 조합은 복합키가 될 수 있다.
 
Share article

soultree