Home [CS] DB: 키의 종류
포스트
취소

[CS] DB: 키의 종류

데이터베이스에서 키란, 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플과 구별할 수 있는 유일한 기준이 되는 속성(Attribute)이다.

종류

키의 종류에는 5가지가 있다.

  • 후보키 (Candidate key)

    • 릴레이션(테이블)에서 각 튜플을 유일하게 식별할 수 있는 속성 또는 집합을 말한다.
    • 후보키가 되려면 유일성최소성을 모두 만족해야 한다.
  • 기본키 (Primary key)

    • 기본키는 후보키 중에서 행을 식별하기 위해 특별히 선택된 키를 말한다.
    • 기본키는 중복될 수 없으며, NULL값이 올 수 없다.
    • 유일성최소성을 만족해야 한다.
    • 기본키는 테이블당 오직 하나의 필드에만 설정할 수 있다.
    • 기본키 제약 조건은 테이블의 데이터를 쉽고 빠르게 찾도록 도와주는 역할을 한다.
  • 대체키 (Alternate key)

    • 대체키는 기본키로 선택되지 않고 남은 후보키를 의미한다.
    • 보조키라고도 부른다.
  • 슈퍼키 (Super key)
    • 슈퍼키는 관계의 행을 고유하게 식별할 수 있는 속성 또는 집합을 의미한다.
    • 슈퍼키는 대상관계의 모든 속성이 함수 종속하는 속성의 집합으로 정의할 수 있다.
  • 외래키 (Foreign key)

    • 외래키는 두 테이블을 서로 연결하는데 사용되는 키이다
    • 외래키가 포함된 테이블을 자식 테이블이라고 하고, 외래키 값을 제공하는 테이블을 부모 테이블이라 한다.
    • 외래키는 데이터의 무결성을 유지하는데 사용된다. 부모와 자식 데이터 간의 논리적 관계를 일치시킨다는 것이다.

유일성과 최소성

  • 유일성: 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질

    여러 개의 튜플이 존재할 때 각각의 튜플을 서로 구분할 수 있어야 한다는 성질이다. 즉, 각각의 튜플은 유일해야 한다는 것이다. 예를 들어, (주민 번호, 나이, 주소, 혈액형)이라는 속성이 있을 때 나이, 주소, 혈액형은 충분히 중복될 수 있으나, 주민 번호는 모두 달라 중복될 수 없다. 주민 번호처럼 각각의 튜플을 구분할 수 있는 속성이 가진 성질을 유일성이라고 합니다.

  • 최소성: 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질

    키를 구성하는 속성들이 각 튜플을 구분하는데 꼭 필요한 속성들로만 구성된다는 성질이다. 예를 들어, [주민 번호, 이름, 나이]처럼 키가 구성되어 있다면, 이미 주민 번호로 해당 키를 식별할 수 있는데 이름과 나이가 포함되어 있기 때문에 최소성을 만족하지 못한다.


참고 자료

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

[CS] DB: DB란 무엇인가?

[CS] DB: 정규화란?