[정보처리기사] 데이터베이스 키(key)

yurinnn·2024년 4월 13일

정보처리기사

목록 보기
19/21

유일성과 최소성

  • 유일성: 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질을 의미함. (중복X)
  • 최소성: 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질.

예를 들어 특정 학교 학생을 구별할 때, 세가지 구별자인 [학번, 이름, 성별]가 있다면 이는 유일성은 만족하지만 최소성은 만족하지 않는다.
이름과 성별을 제외한 학번만으로 학생을 구별할 수 있으며, 학번은 최소성을 만족한다.

키의 종류

1. 슈퍼 키(Super Key)

  • 유일성 O, 최소성 X
  • 중복된 값이 존재하지 않는다.
  • 예를 들어, 유일성을 만족하는 학번을 가진 [학번 + 이름], [성별 + 학번] 등은 슈퍼키가 될 수 있다.
    하지만 [이름 + 성별] 은 두 가지가 모두 일치하는 사람이 존재할 수 있기 때문에 유일성 성립이 안된다.

2. 복합 키(Composite Key)

  • 유일성 O, 최소성 O
  • 2개 이상의 속성(attribute)을 묶어서 기본키로 지정한 것이다.

3. 후보 키(Candidate key)

  • 유일성 O, 최소성 O
  • 슈퍼키 중에서 최소성을 만족하는 키로, 기본키가 될 수 있는 후보이기 때문에 후보키라고 불린다.
  • 예를 들어, [주민등록번호], [학번] 같이 유일성을 만족하면서 최소성도 만족하면 후보키이다.

4. 기본 키(Primary key)

  • 유일성 O, 최소성 O
  • 후보 키에서 선택된 키로, 레코드를 식별할때 기준이 되는 반드시 필요한 키이다.
  • NULL값, 중복값은 들어갈 수 없다.

5. 대체 키(Surrogate / Alternate key)

  • 유일성 O, 최소성 O
  • 후보 키 중에 기본 키로 선택되지 않은 키이다.

6. 외래 키(Foreign Key)

  • 테이블(relation)간의 관계를 나타낼때 사용하며, 다른 테이블의 기본키를 참조해 외래키로 사용한다.
  • 데이터 무결성을 위해 외래키를 설정한다.
    예를 들어, 왼쪽 테이블의 student_id 값이 변경되면 오른쪽 테이블의 student_id 도 변경되어야 한다.
profile
슬기로운 개발 생활

0개의 댓글