ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 키의 개념 및 종류
    정보처리기능사/관계형 데이터베이스 2018. 11. 7. 10:53

    1. 키(Key) 의 개념


    데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성


    2. 키(Key)의 종류




    후보키(Candidate Key)

    - 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말함

    - 릴레이션에 있는 모든 튜플에 대해서 다음과 같은 특징을 만족시켜야 한다.

      > 유일성(Unique) : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 한다.

      > 최소성(Minimality) : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성되어야 한다.


    예) <학생> 릴레이션에서 학번이나 주민번호는 다른 레코드를 유일하게 구별할 수 있는 기본키로 사용할 수 있으므로 후보키이다.

    <수강> 릴레이션에서는 (학번, 과목명)으로 조합해야 후보키가 된다.


    기본키(Primary Key)
    - 후보키 중에서 선택한 주키(Main Key)

    - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성

    - NULL 값을 가질 수 없다.

    - 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.


    예) <학생> 릴레이션에서는 학번이나 주민번호가 기본키가 될 수 있고, <수강> 릴레이션에서는 (학번, 과목명)으로 조합해서 기본키로 설정할 수 있다.

    예) 학번이 <학생> 릴레이션의 기본키로 정의되면 이미 입력된 '1001'은 다른 튜플의 학번 속성의 값으로 입력할 수 없다.


    대체키(Alternate Key)

    - 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.

    - 보조키라고도 한다.


    예) <학생> 릴레이션에서 학번을 기본키로 정의하면 주민번호는 대체키가 된다.


    슈퍼키(Super Key)

    - 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.

    - 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못한다.


    예) <학생> 릴레이션에서는 학번, 주민번호, (학번, 주민번호), (주민번호, 성명), (학번, 주민번호, 성명) 등으로 슈퍼키를 구성할 수 있다.

    * (학번, 주민번호)를 사용하여 슈퍼키를 만들면 다른 튜플들과 구분할 수 있는 유일성은 만족하지만, 학번이나 주민번호 하나만 가지고도 다른 튜플들을 구분할 수 있으므로 최소성은 만족시키지 못한다.


    외래키(Foerign Key)

    - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

    - 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.


    예) <수강> 릴레이션이 <학생> 릴레이션을 참조하고 있으므로 <학생> 릴레이션의 '학번'은 기본키이고, <수강> 릴레이션의 '학번'은 외래키이다.

    예) <수강> 릴레이션의 '학번'에는 <학생> 릴레이션의 '학번'에 없는 값은 입력할 수 없다.

    댓글

Designed by Tistory.