티스토리 뷰
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. 참고
-
책
-
-
키 종류
'database' 카테고리의 다른 글
Q&A : Mybatis 관련 질문 모음 (0) | 2019.03.23 |
---|---|
Q&A : JPA 관련 질문 모음 (0) | 2019.03.22 |
관계형 데이터베이스 설계 및 구축 (2) | 2019.02.06 |
관계형 데이터베이스에서 조인(join)이란? (0) | 2018.12.09 |