검수요청.png검수요청.png

수퍼키

위키원
Asadal (토론 | 기여)님의 2020년 8월 15일 (토) 02:10 판
이동: 둘러보기, 검색

수퍼키(Super Key)이란 데이터베이스에서 레코드를 유일하게 식별할 수 있는 속성의 집합으로 구성된 (Key)를 말한다. 슈퍼키는 대상관계의 모든 속성이 함수 종속하는 속성의 집합으로 정의할 수 있다. [1]

개요

키(key)의 구조

수퍼키(Super key)는 릴레이션에 존재하는 필드들의 부분집합으로써, 유일성을 만족해야한다. 수퍼키는 2개 이상의 속성을 묶어서 1개의 후보키로 만들어 기본키로 활용된다. 수퍼키와 많이 언급되는 단어는 후보키와 유일성, 최소성이다. 후보키와의 차이점으로 유일성과 최소성이 있는데, 수퍼키는 유일성은 만족하지만, 최소성을 만족하지 못한다. 하지만 후보키는 유일성과 최소성 둘 다 만족한다. [2]

특징

수퍼키(Super Key)는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키(Key)를 의미한다. 수퍼키는 몇가지의 주요 특징이 있는데, 첫번째, 기본키(PK)로 사용된다. 한 릴레이션 내에 있는 속성들 중에 2개 이상의 속성을 1개의 후보키로 만들어서 기본키로 활용한다. 두번째, 릴레이션을 구성하는 모든 튜플 중 수퍼키로 구성된 속성의 집합과 동일한 값을 나타내지 않는다. 세번째, 수퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다. 유일성(Unique)은 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 성질을 의미하고, 최소성(Minimality)은 모든 튜플들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성되는 성질을 의미한다. 수퍼키는 2개 이상의 속성들을 묶어 새로운 속성을 만들어내기 때문에 유일성을 만족하여, 기본키로 사용될 수 있다. 하지만, 1개의 속성으로도 유일성을 나타낼 수 있는 속성들도 2개 이상으로 묶어 만들어내기 때문에 최소성은 만족하지 못한다. [3]

예제

1) 속성 중 '이름'을 기본키로 사용했을때 동명이인이 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 이름과 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그림과 같이 주민번호와 묶었을 경우, 주민번호는 각 사람마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 이름 속성과 같이 사용되었을때 최소성은 만족하지 못한다.

수퍼키 예제1

2) 속성 중 '학과'를 기본키로 사용했을때 같은 학과가 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 학과와 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그림과 같이 학번은 각 학생마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 학과 속성과 같이 사용되었을때 최소성은 만족하지 못한다.

수퍼키 예제2

각주

  1. 슈퍼키〉, 《위키백과》, 2019-01-17
  2. [관계형 데이터베이스-무결성(Integrity)〉, 《개인사이트》, 2016-11-13
  3. 키(Key)의 개념과 종류〉, 《개인사이트》, 2016-04-24

참고자료

같이 보기


  검수요청.png검수요청.png 이 수퍼키 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.