데이터베이스 Key 종류

KIM JEONG DONG·2024년 7월 23일
post-thumbnail

데이터 베이스 키 종류

  • 데이터베이스에서 사용되는 Key의 종류들에 대해 기재한다.

Key란?

  • 특정한 데이터 항목을 고유하게 식별할 수 있는 값 및 값의 집합이 된다.
  • Key는 DB의 무결성, 속도, 데이터 참조 등의 기능을 보장하는 매우 중요한 요소이다.


Candidate Key (후보 키)

  • 테이블 내에서 고유하게 식별할 수 있는 속성 및 속성들의 집합이 된다.
  • 즉, 기본 키로 선택 될 수 있는 모든 키를 의미한다.
  • 후보 키는 Null값을 가질 수 없으며, 고유해야 한다.

학생 테이블에서 {학생 번호, 휴대폰 번호}는 후보 키에 해당된다. {이름, 나이} 컬럼은 중복 될 수 있으므로, 유일성이 보장되지 않는다.


Primary Key (기본 키)

  • 테이블 내에서 고유하게 식별 되는 유일한 값이다.
  • Null값을 가질 수 없으며, 1개의 컬럼이 기본키가 될 수 있고 2개 이상의 컬럼이 기본 키가 될 수도 있다.
  • 기본 키는 중복 값을 저장할 수 없다.

후보 키인 {학생 번호, 휴대폰 번호} 중에서 기본 키를 지정할 수 있다.


Alternate Key (대체 키, 보조 키)

  • 후보 키가 2개 이상일 때 기본 키를 제외한 나머지 Key들을 의미한다.

    만약 {학생 번호}가 기본 키라면, 대체 키는 {휴대폰 번호}가 된다.


Composite Key (복합 키)

  • 2개 이상의 컬럼들이 묶여서 하나의 기본 키로 지정한 것이다.
  • 기본 키가 복합 키라면, 복합 키는 당연히 고유성을 반드시 보장되어야 한다.

{학생 번호, 휴대폰 번호}를 기본키로 지정한다면 학생 테이블의 복합키가 되는 것이다.


Super Key (슈퍼 키)

  • 유일성은 보장 받지만 최소성을 보장 받지 못하는 키를 의미한다.
  • 예를 들면 {학생 번호, 이름}은 슈퍼키에 해당된다.
    • 3번 김덕배와 4번 김덕배는 서로 동명이인이지만, {학생 번호}로 값을 식별할 수 있기 때문이다.

{학생 번호, 이름}, {학생 번호, 나이}, {휴대폰 번호, 이름} 등등은 슈퍼 키가 될 수 있다.


Foreign key (외래 키)

  • 외래 키는 해당 테이블에서 다른 테이블의 컬럼 및 컬럼 집합의 기본 키를 참조하는 제약 조건 키다.
  • 참조 무결성을 정하는데 중요하며, 두 테이블간의 관계를 정의하고 사상수를 정의할 수 있다.
    • 1 : 1, 1 : N, N : 1, N : N
  • 업데이트 및 삭제 시 무결성 제약 조건에 의해 오류가 발생하므로 특정 옵션을 통한 액션으로 해결해야 한다.
    • 또한 삽입 시 외래 키의 기본 키가 반드시 지정 되어야 한다.

EX )

[주문 테이블]의 {고객 Id}는 [고객 테이블]의 기본 키로 지정되어 있다. 즉, [주문 테이블]의 FK는 {고객 Id}가 된다!

0개의 댓글