티스토리 뷰

database

데이터베이스의 키 종류

advenoh 2018. 11. 25. 22:34
1. 데이터베이스의 키 종류
이번 포스팅에서는 데이터베이스의 여러 키 종류를 정리해보겠습니다. 



키 종류에 대한 설명을 위해 아래 샘플 데이터를 사용합니다. 샘플 데이터는 자동으로 생성해주는 dummy data 사이트에서 얻어왔어요.




수퍼키 (super key) 

  • 유일성의 특성을 만족하는 속성들의 집합으로 이루어진 키를 수퍼키라 한다
    • 유일성이란? -  하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질을 의미한다
  • 예. authors 테이블
    •  id, {id, first_name}, {first_name, last_name}, email 등이 수퍼키가 된다

후보키 (candidate key)

  • 유일성과 최소성을 만족하는 속성 또는 속성들의 집합이다. 즉, 수퍼키중에서 최소성을 만족하는 것이 후보키가 된다
    • 최소성이란? - 레코드를 식별하는데 꼭 필요한 속성들로만 구성한다
  • 예. authors 테이블
    • id와 email이 후보키가 된다

기본키 (primary key)

  • 후보키중에 특별히 선택된 키이다
  • 키본키는 NULL 값이나 중복된 값을 가질 수 없다
  • 예. authors 테이블
    • 후보키중에 id를 기본키로 선정할 수 있다. (중복값이나 NULL 값이 없다)

대체키 (alternate key)

  • 대체키란 기본키로 선택되지 못한 후보키를 의미하고 보조키라고도 한다
  • 예. authors 테이블
    • email가 대체키가 된다. 

외래키 (foreign key)

  • 어떤 릴레이션에 있는 속성이 다른 릴레이션의 기본키가 되는 키를 의미한다
  • 외래키 속성의 도메인과 참조되는 기본키 속성의 도메인은 같아야 한다
  • 외래키는 같은 릴레이션을 참조할 수도 있다
  • 외래키는 NULL 값을 가질 수 있다
  • 예. posts 테이블
    • authors_id가 외래키가 된다


2. 참고


«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday