KEY란 무엇인가요?

     

    KEY란?

    키는 튜플을 유일하게 식별할 수 있는 속성의 집합입니다.

    (= 주어진 릴레이션(테이블)에서 모든 인스턴스 가운데 유일함을 보장해주는 하나 이상의 애트리뷰트 집합입니다.)

     

    유일성?
    튜플을 유일하게 식별하는 성질

    최소성?
    유일하게 식별할 수 있는 최소 구성의 성질

     

    키는 크게 식별성과 참조성으로 구분할 수 있으며,

    식별성에는 슈퍼키, 후보키, 기본키, 대체키가 있습니다.

    참조성에는 외래키가 있습니다.

     

     

     

    식별성

    Super Key (= 슈퍼키)

    슈퍼키는 튜플을 유일하게 구분하기 위해 한 개 이상의 속성들로 이루어진 키입니다.

    유일성 O  최소성 X

     

    최소성을 만족해서 찾아도 슈퍼키입니다.
    유일성만 만족해서 찾아도 슈퍼키입니다.

     

    예시

    (학번, 주민등록번호, {학번,주민등록번호}, {학번,성명}, {학번,성명,학과})

     

     

    Candidate Key (= 후보키)

    기본키가 될 수 있는 후보이며, 슈퍼키 중에서 최소 슈퍼키

    유일성과 최소성을 모두 만족해야 후보키가 된다.

    두 개의 속성값으로 후보키를 구성할 수 있다

     

    예시

    (학번, 주민등록번호)

     

     

    Primary Key (= 기본키 = 주식별자 = 주키 = PK)

    후보키 중에서 대표로 튜플을 식별하기 위해 선택된 키를 의미하며,

    기본키는 중복될 수 없고, NULL값이 올 수 없습니다.

     

    후보키 안에 속해있기 때문에 유일성과 최소성을 모두 만족해야 합니다.

     

    하나의 테이블에서는 무조건 기본키가 1개 이상 있어야 합니다.

     

    예시

    학번 또는 주민등록번호를 기본키로 설정할 수 있습니다.

     

    Alternate Key (= 대체키)

    후보키 중에서 기본키를 제외한 나머지 후보키

    후보키 - 기본키 = 대체키

    보조키라고도 합니다.

     

    예시

    기본키가 학번이라면 대체키주민등록번호

    기본키가 주민등록번호라면 대체키학번

     


    참조성

    Foreign Key (= 외래키 FK)

    외래키는 하나의 테이블에서 원하는 자료를 얻지 못하는 경우 다른 테이블을 참조하기 위해 사용되는 속성을 말하며,

    외래 식별자라고도 합니다. (= 테이블들의 관계를 맺어주도록 하는 키)

     

    찾아갈 때 하나의 결과만 나와야 합니다.

    n:1의 관계가 있을 때 1로 찾아가야 합니다.

    참조 릴레이션의 기본키와 같아야 합니다.

    외래 키는 NULL값이 올 수 있습니다.

    외래 키의 속성명과 참조 릴레이션의 기본키 속성은 달라도 무방하다.

     


     

    식별 관계와 비식별 관계

    식별 관계 : 외래키가 기본키인 경우
    비식별 관계 : 외래키가 일반 속성인 경우 

     

     

    728x90

    댓글