본문 바로가기
Database

데이터 베이스 (KEY)

by Doromi 2019. 4. 15.
728x90
반응형

[키(KEY)는

각 튜플을 유일하게 식별할 수 있는 애트리뷰트 집합이다]

 

ex)학번과 같이 튜플을 유일하게 식별할 수 있는 하나 또는 그 이상 애트리뷰트 집합

 

후보 키(candidate key)

- 릴레이션 R(A1, A2, ..., An)에 대한 애트리뷰트 집합, K({Ai , Aj , ..., Ak}) 로서 다음 두 성질을 만족합니다.

  1. 유일성(uniqueness)
    각 튜플에 대해 K의 값은 유일(각 튜플에 대해서 후보 키에 대한 값이 유일해야 합니다.)
  2. 최소성(minimality)
    K는 각 튜플을 유일하게 식별하는데 필요한 애트리뷰트만 포함합니다.

 

기본 키(primary key)

 - 후보 키 중에서 지정된 하나의 키(데이터 베이스 설계자가 지정....)
 - 각 튜플에 대한 기본 키 값은 항상 유효한 값이어야 합니다.(null값이 허용되지 않습니다...)

 

"학번이 유일한 키인데 학번+이름 이라고 한다면,, 키는 되지만 후보 키는 될 수 없습니다..
왜냐하면 최소성을 만족못하기 때문"

 

"학생 릴레이션에는 학번이나 주민번호가 기본 키가 될 수 있고, 

수강 릴레이션에서는 학번+과목번호 가 기본키가 될 수 있습니다.
학번과 과목번호 개별적으로는 다른 튜플들과 구별할 수 없기 때문입니다"

 

슈퍼 키(super key)

 - 유일성(uniqueness)는 만족하지만 최소성(minimality)은 만족하지 않는 애트리뷰트의 집합

 

"학생 릴레이션에서 학번+주민번호, 학번+주민번호+이름 등등 슈퍼키가 될 수 있습니다.
하지만 학번 하나 만으로 다른 튜플들을 구분할 수 있으므로 최소성은 만족 시키지 못합니다"

 

대체 키(alternate key)

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

 

"기본 키는 null 값을 가질 수 없지만, 대체 키는 null 값을 가질 수 있다"

 

 

외래 키(foreign key)

- 릴레이션 R의 애트리뷰트 집합 FK가 릴레이션 S의 기본 키 일 때, 이 FK는 R의 외래 키

(FK 도메인) = (S 기본 키의 도메인)

 

"학번 애트리뷰트가 학생 테이블에 기본키일 때, 학번은 등록 릴레이션의 외래 키가 된다"

 

"외래 키 값은 원래 테이블에 존재하는 값이거나 null이어야 한다."

 

  • R ≠ S 경우
    교수 (교수번호, 교수이름, 학과번호, 직급)
    학과 (학과번호, 학과이름, 학과장교수번호, 학생수)

    "교수 테이블에 교수번호가 기본 키, 학과 테이블에 학과번호가 기본 키
    학과장교수번호를 입력하는 애트리뷰트가 있습니다. 이것이 교수번호하고 관계를 맺고 있고, 외래 키가 됩니다."

    학생 (학번, 이름, 학년, 학과)
    과목 (과목번호, 과목이름, 학점, 학과, 담당교수)
    등록 (학번, 과목번호, 성적)
  • R = S 경우
    교수1 (교수번호, 교수이름, 학과번호, 학장교수번호)

    "기본 키와 외래 키가 같은 테이블안에 있을 수도 있다."
    "교수1 테이블에는 학장교수번호는 교수의 상사 느낌으로 학장 교수번호가 외래 키로 들어가고,
    학장 교수도 교수이기 때문에 같은 테이블안에서 기본 키와 외래 키가 있다"
728x90
반응형

'Database' 카테고리의 다른 글

순수 관계 연산자  (0) 2019.04.15
관계 대수  (0) 2019.04.15
무결성 제약(Integrity Constraints)  (0) 2019.04.15
릴레이션(Relation) R  (0) 2019.04.15
관계 데이터베이스  (0) 2019.04.15