본문 바로가기

데이터베이스

[데이터베이스] 키(Key)

728x90

키(Key)란?

데이터베이스에서 조건을 만족하는 튜플(행)을 찾거나 순서대로 정렬할 때 튜플(행)들을 서로 구분할 수 있는 기준이 되는 속성(열)을 말합니다.

ex) 성별 속성을 통해 남성만 출력을 하거나 여성만 출력하기

 

키 종류

  • 후보키
  • 기본키
  • 대체키
  • 슈퍼키
  • 대체키

 

모든 키 설명은 해당 테이블로 설명하겠습니다.

학번 이름 전화번호 주민등록번호 성별
2001234 홍길동 01012345678 011212-1234567
2101234 김옥동 01032146542 991056-3121241
2010133 김옥동 01096543341 891515-1515156

 

후보키(Candidate Key)

릴레이션(테이블)을 구성하는 속성(열) 중에서 튜플(행)을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 의미합니다.

 

후보키는 유일성"과 "최소성"을 만족시켜야합니다.

유일성 : 하나의 키 값으로 하나의 튜플(행)만을 유일하게 식별
최소성 : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성


후보키 예시 : 학번, 전화번호, 주민등록번호

 

 

 

기본키(Primary key)

후보키 중에서 특별히 선정된 주키(main key)입니다.

후보키 중 뽑는 것으로 후보키의 특징을 가지고 있으며 기본키는 NULL 값을 가질 수 없다는 특징이 있습니다.

기본키는 해당 테이블을 대표하는 속성입니다.

<학생>이라는 테이블이기 때문에 학번이 기본키로 사용합니다.

 

대체키(Alternate Key)

대체키는 후보키에서 기본키로 선정되지 않은 키이므로, "최소성"과 "유일성"은 후보키에서 이미 만족한 상태입니다.
즉, 대체키는 후보키의 일부이며, 추가적인 특징이 아니라 "기본키가 아닌 후보키"라고 이해하면 됩니다.

 

대체키 : 전화번호, 주민등록번호

 

 

슈퍼키(Super Key)

한 테이블 내에 있는 속성들의 집합으로 구성된 키로서 테이블을 구성하는 모든 튜플들 중에서 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않습니다만 최소성은 만족하지 않습니다. 즉 열끼리 조합된 키라고 생각하시면 됩니다.

 

최소 한 개이상의 후보키와 조합이 되어야합니다(유일성)

슈퍼키 : 학번 + 이름, 학번 + 주민등록번호, 전화번호 + 성별 등등

 

외래키(Foreign Key)

다른 테이블의 기본키를 참조하는 속성 또는 속성들의 집합을 의미합니다.

 

외래키는 다른 테이블에서 참조를 하는 것이기 때문에 밑의 테이블과 같이 다른 테이블에서 기본키를 가져와서 사용하는 키를 의미합니다.

 

성적 테이블

전공1 전공2 교양1 학번(외래키)
A+ A0 A- 2001234
B+ B+ A0 2101234
C+ A+ C+ 2010133

 

728x90

'데이터베이스' 카테고리의 다른 글

[데이터베이스] Redis란  (0) 2024.11.30
데이터베이스의 정의와 특징  (0) 2024.07.05