맨위로가기

슈퍼 키

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

슈퍼 키는 데이터베이스 관계에서 각 튜플을 유일하게 식별하는 하나 이상의 속성 집합을 의미한다. 후보 키를 포함하는 상위 개념으로, 후보 키에 불필요한 속성을 추가한 경우에도 슈퍼 키가 될 수 있다. 관계의 모든 속성으로 구성된 집합은 항상 슈퍼 키이며, 슈퍼 키는 관계 스키마의 함수 종속성 제약 조건을 기반으로 판별한다. 예를 들어, 주민등록번호는 슈퍼 키이며, {주민등록번호, 이름} 또한 슈퍼 키이다.

2. 슈퍼 키의 개념

슈퍼 키는 테이블 내에서 각 튜플을 유일하게 식별할 수 있는 하나 이상의 속성 집합이다. 슈퍼 키는 유일성을 만족하는 최소한의 속성 집합인 후보 키를 포함하는 상위 개념이다.

후보 키와의 차이는, 슈퍼 키는 '고유하게 식별하는 모든 조합'을 뜻하는 점이다. 즉, 후보 키에 불필요한 속성을 덧붙여 장황하게 한 것은 후보 키는 아니지만 여전히 슈퍼 키이다. 더 줄일 수 없는 슈퍼 키, 즉 속성의 중복이 없는 슈퍼 키는 후보 키이기도 하다. 예를 들어, 마을(마을 ID, 도시명, 도명)이라는 관계의 경우 마을 ID, {마을 ID, 도시명}, {마을 ID, 도명}, {마을 ID, 도시명, 도명} {도시명, 도명}은 모두 슈퍼 키이다.

관계의 모든 속성으로 구성된 집합은 그 관계가 기저 관계이든 파생 관계(뷰)이든 항상 슈퍼 키이다.

잉글랜드 군주
군주 이름군주 번호왕가
에드워드2세플랜태저넷
에드워드3세플랜태저넷
리처드3세플랜태저넷
헨리4세랭커스터



먼저, 모든 속성 집합을 나열합니다.


  • {}
  • {군주 이름}
  • {군주 번호}
  • {왕가}
  • {군주 이름, 군주 번호}
  • {군주 이름, 왕가}
  • {군주 번호, 왕가}
  • {군주 이름, 군주 번호, 왕가}


다음으로, 슈퍼키의 요구 사항을 충족하지 않는 모든 집합을 제거한다. 예를 들어, {군주 이름, 왕가}는 동일한 속성 값(에드워드, 플랜태저넷)에 대해 두 개의 서로 다른 튜플이 있기 때문에 슈퍼키가 될 수 없다.

  • (에드워드, '''2세''', 플랜태저넷)
  • (에드워드, '''3세''', 플랜태저넷)


마지막으로, 제거 후, 남은 속성 집합은 이 예제에서 가능한 유일한 슈퍼키이다.

  • {군주 이름, 군주 번호} — 이는 또한 후보키이다.
  • {군주 이름, 군주 번호, 왕가}


실제로, 슈퍼키는 관계에서 하나의 튜플 집합을 검사하는 것만으로는 결정할 수 없다. 슈퍼키는 해당 관계 스키마의 모든 가능한 인스턴스 관계에 대해 유지되어야 하는 관계 스키마의 함수 종속성 제약 조건을 정의한다.

2. 1. 후보 키와의 관계

후보 키는 튜플을 고유하게 식별할 수 있는 최소한의 속성 집합이다. 슈퍼 키는 후보 키에 다른 속성을 추가하여 만들 수 있다. 즉, 후보 키는 슈퍼 키의 부분 집합이다. 예를 들어, 주민등록번호는 후보 키이며, 동시에 슈퍼 키이다. {주민등록번호, 이름} 또한 슈퍼 키이지만, 최소성을 만족하지 않으므로 후보 키는 아니다.

관계의 모든 속성으로 구성된 집합은 그 관계가 기저 관계이든 파생 관계(뷰)이든 항상 슈퍼 키이다.

예를 들어, 잉글랜드 군주라는 관계에서

잉글랜드 군주
군주 이름군주 번호왕가
에드워드2세플랜태저넷
에드워드3세플랜태저넷
리처드3세플랜태저넷
헨리4세랭커스터



{군주 이름, 군주 번호}, {군주 이름, 군주 번호, 왕가}는 슈퍼키가 될수 있다. {군주 이름, 군주 번호}는 후보 키이기도 하다. 하지만 {군주 이름, 왕가}의 경우 (에드워드, 2세, 플랜태저넷)와 (에드워드, 3세, 플랜태저넷)처럼 동일한 속성 값에 대해 두개의 서로 다른 튜플이 존재하기 때문에 슈퍼키가 될 수 없다.

슈퍼 키는 관계에서 하나의 튜플 집합을 검사하는 것만으로는 결정할 수 없다. 슈퍼 키는 해당 관계 스키마의 모든 가능한 인스턴스 관계에 대해 유지되어야 하는 관계 스키마의 함수 종속성 제약 조건을 정의한다.

3. 슈퍼 키의 예시

대한민국 국민의 주민등록번호는 그 자체로 슈퍼 키이다. {주민등록번호, 이름}, {주민등록번호, 주소, 생년월일} 등도 슈퍼 키이다.

3. 1. 잉글랜드 군주 예시

잉글랜드 군주
군주 이름군주 번호왕가
에드워드2세플랜태저넷
에드워드3세플랜태저넷
리처드3세플랜태저넷
헨리4세랭커스터



{군주 이름, 왕가}는 동일한 속성 값(에드워드, 플랜태저넷)에 대해 두 개의 서로 다른 튜플이 있기 때문에 슈퍼키가 될 수 없다.


  • (에드워드, '''2세''', 플랜태저넷)
  • (에드워드, '''3세''', 플랜태저넷)


따라서, 이 예제에서 가능한 유일한 슈퍼키는 다음과 같다.

  • {군주 이름, 군주 번호} — 이는 또한 후보키이다.
  • {군주 이름, 군주 번호, 왕가}


슈퍼키는 관계에서 하나의 튜플 집합을 검사하는 것만으로는 결정할 수 없다. 슈퍼키는 해당 관계 스키마의 모든 가능한 인스턴스 관계에 대해 유지되어야 하는 관계 스키마의 함수 종속성 제약 조건을 정의한다.

4. 슈퍼 키 판별

슈퍼 키는 관계 스키마의 함수 종속성 제약 조건을 기반으로 판별한다. 특정 튜플 집합만으로는 슈퍼 키를 결정할 수 없으며, 관계 스키마의 모든 가능한 인스턴스에서 유일성을 만족해야 한다. 관계의 모든 속성 집합은 항상 슈퍼 키이다.

후보 키와의 차이는, 슈퍼 키는 '고유하게 식별하는 모든 조합'을 뜻하는 점이다. 즉, 후보 키에 불필요한 속성을 덧붙여 장황하게 한 것은 후보 키는 아니지만 여전히 슈퍼 키이다. 더 줄일 수 없는 슈퍼 키, 즉 속성의 중복이 없는 슈퍼 키는 후보 키이기도 하다. 예를 들어, 마을(마을 ID, 도시명, 도명)이라는 관계의 경우 마을 ID, {마을 ID, 도시명}, {마을 ID, 도명}, {마을 ID, 도시명, 도명} {도시명, 도명}은 모두 슈퍼 키이다.

참조

[1] 웹사이트 Codd's First Relational Papers: A Critical Analysis https://www.dcs.warw[...] 2015
[2] 서적 Introduction to Database Management Systems Tata McGraw-Hill
[3] 간행물 An Efficient Algorithm to Compute the Candidate Keys of a Relational Database Schema https://academic.oup[...] 1996-02-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com