수퍼키 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''수퍼키'''(Super Key)이란 [[데이터베이스]]에서 [[레코드]]를 유일하게 식별할 수 있는 [[속성]]의 집합으로 구성된 [[키 (데이터베이스)|키]](Key)를 말한다. 슈퍼키는 대상관계의 모든 속성이 함수 종속하는 속성의 집합으로 정의할 수 있다.<ref name="위키백과"> 〈[https://ko.wikipedia.org/wiki/%EC%8A%88%ED%8D%BC_%ED%82%A4 슈퍼키]〉, 《위키백과》, 2019-01-17</ref>
+
'''수퍼키'''(Super Key)이란 데이터베이스에서 레코드를 유일하게 식별할 수 있는 속성의 집합으로 구성된 [[키 (데이터베이스)|키]](Key)를 말한다. 슈퍼키는 대상관계의 모든 속성이 함수 종속하는 속성의 집합으로 정의할 수 있다. <ref name="위키백과"> 〈[https://ko.wikipedia.org/wiki/%EC%8A%88%ED%8D%BC_%ED%82%A4 슈퍼키]〉, 《위키백과》, 2019-01-17</ref> 복합키 또는 연결키라고도 불린다. <ref name="개발자를 꿈꾸는 프로그래머"> 〈[https://jwprogramming.tistory.com/75 키(Key)의 개념과 종류]〉, 《개인사이트》, 2016-04-24</ref>
 +
 
 +
[[파일:키(key)_구조.PNG|400픽셀|섬네일|가운데|키(key)의 구조]]
  
 
==개요==
 
==개요==
[[파일:키(key)_구조.PNG|썸네일|400픽셀|키(key)의 구조]]
+
수퍼키(Super key)는 릴레이션에 존재하는 필드들의 부분집합으로써, 유일성을 만족해야한다. 수퍼키는 2개 이상의 속성을 묶어서 기본키로 활용하기 때문에 복합키 또는 연결키라고도 불리는데
 
 
수퍼키(Super key)는 [[릴레이션]]에 존재하는 [[필드]]들의 부분집합으로서, 유일성을 만족해야 한다. 수퍼키는 2개 이상의 [[속성]]을 묶어서 1개의 [[후보키]]로 만들어 [[기본키]]로 활용된다. 수퍼키와 많이 언급되는 단어는 [[후보키]]와 유일성, 최소성이다. 후보키와의 차이점으로 유일성과 최소성이 있는데, 수퍼키는 유일성은 만족하지만, 최소성을 만족하지 못한다. 하지만 후보키는 유일성과 최소성 둘 다 만족한다. <ref name="Untitled">〈[https://untitledtblog.tistory.com/123 (관계형 데이터베이스)-무결성(Integrity)]〉, 《개인사이트》, 2016-11-13</ref>
 
  
 
==특징==
 
==특징==
수퍼키(Super Key)는 한 [[릴레이션]] 내에 있는 속성들의 집합으로 구성된 [[(데이터베이스)|키]](Key)를 의미한다. 수퍼키는 몇가지의 주요 특징이 있는데, 첫번째, [[기본키]](PK)로 사용된다. 한 릴레이션 내에 있는 속성들 중에 2개 이상의 속성을 1개의 [[후보키]]로 만들어서 기본키로 활용한다. 두번째, 릴레이션을 구성하는 모든 튜플 중 수퍼키로 구성된 속성의 집합과 동일한 값을 나타내지 않는다. 세번째, 수퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다. 유일성(Unique)은 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 성질을 의미하고, 최소성(Minimality)은 모든 튜플들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성되는 성질을 의미한다. 수퍼키는 2개 이상의 속성들을 묶어 새로운 속성을 만들어내기 때문에 유일성을 만족하여, 기본키로 사용될 수 있다. 하지만, 1개의 속성으로도 유일성을 나타낼 수 있는 속성들도 2개 이상으로 묶어 만들어내기 때문에 최소성은 만족하지 못한다. <ref name="개발자를 꿈꾸는 프로그래머"> 〈[https://jwprogramming.tistory.com/75 키(Key)의 개념과 종류]〉, 《개인사이트》, 2016-04-24</ref>
+
수퍼키(Super Key)는 한 [[릴레이션]] 내에 있는 속성들의 집합으로 구성된 키(Key)를 의미한다. 수퍼키는 몇가지의 주요 특징이 있는데, 첫번째, [[기본키]](PK)로 사용된다. 한 릴레이션 내에 있는 속성들 중에 2개 이상의 속성을 1개의 [[후보키]]로 만들어서 기본키로 활용한다. 두번째, 릴레이션을 구성하는 모든 튜플 중 수퍼키로 구성된 속성의 집합과 동일한 값을 나타내지 않는다. 세번째, 수퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다. 유일성(Unique)은 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 성질을 의미하고, 최소성(Minimality)은 모든 튜플들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성되는 성질을 의미한다. 수퍼키는 2개 이상의 속성들을 묶어 새로운 속성을 만들어내기 때문에 유일성을 만족하여, 기본키로 사용될 수 있다. 하지만, 1개의 속성으로도 유일성을 나타낼 수 있는 속성들도 2개 이상으로 묶어 만들어내기 때문에 최소성은 만족하지 못한다. <ref name="개발자를 꿈꾸는 프로그래머"></ref>
  
=== 예제 ===
+
=== 예시 ===
 
1) 속성 중 '이름'을 기본키로 사용했을때 동명이인이 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 이름과 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그림과 같이 주민번호와 묶었을 경우, 주민번호는 각 사람마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 이름 속성과 같이 사용되었을때 최소성은 만족하지 못한다.
 
1) 속성 중 '이름'을 기본키로 사용했을때 동명이인이 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 이름과 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그림과 같이 주민번호와 묶었을 경우, 주민번호는 각 사람마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 이름 속성과 같이 사용되었을때 최소성은 만족하지 못한다.
  
[[파일:수퍼키 예시1.PNG|600픽셀|섬네일|가운데|수퍼키 예제1]]
+
[[파일:수퍼키 예시1.PNG|600픽셀|섬네일|가운데|수퍼키 적용 릴레이션 예시1]]
  
2) 속성 중 '학과'를 기본키로 사용했을때 같은 학과가 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 학과와 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그림과 같이 학번은 각 학생마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 학과 속성과 같이 사용되었을때 최소성은 만족하지 못한다.
+
2) 속성 중 '학과'를 기본키로 사용했을때 같은 학과가 있을수 있기 때문에 유일성을 만족할 수 없다. 그래서 학과와 다른 속성들을 묶어서 수퍼키를 만들고, 이를 기본키로 사용할 수 있다. 그릶과 같이 학번은 각 학생마다 다르게 부여되는 숫자이기 때문에 1개로도 유일성을 만족하기에 기본키로 사용할 수 있지만, 학과 속성과 같이 사용되었을때 최소성은 만족하지 못한다.
  
[[파일:수퍼키_예시2.PNG|600픽셀|섬네일|가운데|수퍼키 예제2]]
+
[[파일:수퍼키_예시2.PNG|600픽셀|섬네일|가운데|수퍼키 적용 릴레이션 예시2]]
  
 
{{각주}}
 
{{각주}}
26번째 줄: 26번째 줄:
 
==같이 보기==
 
==같이 보기==
 
* [[데이터베이스]]
 
* [[데이터베이스]]
* [[릴레이션]]
 
 
* [[테이블]]
 
* [[테이블]]
 
* [[후보키]]
 
* [[후보키]]
 
* [[기본키]]
 
* [[기본키]]
 
* [[외래키]]
 
* [[외래키]]
* [[대체키]]
 
 
* [[대리키]]
 
* [[대리키]]
  
{{데이터|검토 필요}}
+
{{프로그래밍|검토 필요}}

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)