관계형 데이터베이스 2

하이솝·2026년 3월 16일

데이터베이스

목록 보기
4/10

키(key)

필드들의 일부로 각 레코드들을 유일하게 식별해낼 수 있는 식별자(identifier)

키는 왜 필요한가?

레코드간의 순서가 의미가 없으므로 레코드를 구분하기 위해서는 각 레코드의 값을 이용함

일반적으로 하나의 필드를 지정하여 키로 지정하나,
여러 개의 필드들로 키를 구성할 수도 있음
두개 이상의 필드로 구성된 키를 복합키(composite key)라고 함

관계형 데이터 모델에서
특정 레코드를 구별하거나 탐색하기 위한 유일한 방법

복합키(Composite Key)

두 개 이상의 속성(필드 또는 컬럼)으로 이루어진 키

  • 테이블에서 각 행을 유일하게 식별할 수 있는 키
  • 여러 개의 속성을 조합하여 유일성을 보장
  • 각 개별 속성은 중복될 수 있지만, 조합된 값은 유일해야 함
  • 기본키, 후보키, 외래키로도 사용될 수 있음

수퍼키(Super Key)

아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합

예)
(주민등록번호)(학번)(학번, 주민등록번호)(주민등록번호, 학번) 등
전체 테이블의 속성(필드 또는 컬럼)을 모두 합한 것도 하나의 슈퍼키

후보키(Candidate Key)

최소한의 필드만으로 구성된 키

예)
(학번)(주민등록번호)

기본키(Primary Key)

후보키 중에서 식별자로 정의한 하나의 키

되도록 하나의 필드로 구성된 후보키를 선정하는 것이 유리함
예)
(학번) 또는 (주민등록번호)

후보키와 기본키 모두 하나의 필드만으로 식별이 가능하다면
복합키가 될 수 없음

최소 두 개 이상의 필드만으로 식별이 가능할 때 후보키와 기본키 모두 복합키가 될 수 있음

추가적으로 기본키는 NULL이 될 수 없음

예)

외래키(Foreign Key)

서로 관련이 있는 테이블 사이에서 데이터 일관성을 보장해주는 수단


위의 사진에서 외래키는 학과번호

  • 다른 테이블의 기본키 또는 유니크키를 포함하고 있는 경우,
    이를 외래키로 지정 가능
    자기 자신을 참조하는 경우도 있음
  • 외래키로 지정이 되면 키본키 또는 유니크키를 참조하게 됨.
    참조되는 테이블에서 기본키를 삭제 또는 변경할 수 없으며,
    기본키에 없는 값은 외래키 값으로 입력할 수 없음

0개의 댓글