DB 슈퍼키와 기본키의 차이

이규훈·2024년 4월 10일

데이터베이스에서 슈퍼키(super key)와 기본키(primary key)는 모두 유일성을 보장하는 역할을 하지만, 그 세부적인 정의와 사용 목적에서 차이가 있습니다.

슈퍼키(Super Key)

  • 슈퍼키는 테이블 내의 각 행(row)을 유일하게 식별할 수 있는 하나 이상의 속성(attribute)의 조합입니다.
  • 슈퍼키는 유일성을 만족시키지만, 최소성은 만족시키지 않을 수 있습니다. 즉, 슈퍼키는 식별에 필요하지 않은 추가적인 속성을 포함할 수 있습니다.
  • 예를 들어, '학생' 테이블에서 학생의 '학번'과 '이름'을 조합한 것은 학번만으로도 각 학생을 유일하게 식별할 수 있지만, 슈퍼키가 될 수 있습니다.

기본키(Primary Key)

  • 기본키는 테이블 내에서 각 행을 유일하게 식별할 수 있는 속성이나 속성의 조합으로, 슈퍼키 중에서도 최소성을 만족하는 것을 말합니다. 즉, 불필요한 속성 없이 꼭 필요한 최소한의 속성으로 구성됩니다.
  • 기본키는 테이블 내에서 중복되거나 NULL 값을 가질 수 없습니다.
  • 데이터베이스 관리 시스템(DBMS)은 기본키를 사용하여 데이터 무결성을 보장하고, 관계를 맺고 있는 다른 테이블과의 연결(외래키 참조 등)을 관리합니다.
  • '학생' 테이블에서 '학번'만으로도 모든 학생을 유일하게 식별할 수 있다면, '학번'은 기본키가 될 수 있습니다.

요약

슈퍼키와 기본키 모두 유일성을 보장하지만, 기본키는 그 중에서도 최소한의 속성으로 구성된 유일한 키를 의미합니다. 따라서 기본키는 슈퍼키 중에서도 특별한 경우에 해당되며, 데이터베이스 설계에서 중요한 역할을 합니다.

profile
개발취준생

0개의 댓글