키
유일성 : 중복되는 값이 없음. 하나의 키 값으로 튜플을 유일하게 식별 할 수 있는 성질.
최소성 : 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질.
슈퍼키
- 유일성 O, 최소성 X
- 유일성의 특성을 만족하는 속성들의 집합.
- 서로 구분만 가능하면 수퍼키.
- [이름,나이,성별]은 유일성 만족 못함
- [학생번호, 나이, 성별]은 유일성 만족. 하지만 최소성은 만족x.
후보키
- 유일성 O, 최소성 O
- 슈퍼키 중 최소성 만족하는 집합
- 슈퍼키인 [학생번호,나이,성별] 에서, 나이와 성별은 특정 학생 구분할때 필요없음.
[학생번호] 가 최소성 만족 => 후보키
기본키
- 후보키 들 중 메인으로 선정되는 키
- 테이블을 식별할때 기준이 되는 반드시 필요한 키
- 조건
값의 변동이 잦은 후보키는 기본키로 부적절.
NULL 값 가질수 있는 속성이 포함되면 부적절.
후보키중 단순한 키를 기본키로 선택.
하나의 테이블에는 반드시 하나의 기본키만 존재.
외래키
- 테이블간의 관계를 나타낼때 사용, 다른 테이블의 기본키를 참조해 외래키로 사용.
복합키
- 두 개 이상의 컬럼을 묶어서 기본키로 지정하는 것.
- 기본키는 하나 이상의 컬럼으로 구성되어 있다.
대체키
- 기본키를 제외한 나머지 후보키들
[DB] 기본키 / 외래키 / 후보키 / 복합키 개념
키(key)는 DB에서 조건을 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 서로 구분할 수 있는 기준이 되는 속성을 뜻한다. 키의 종류로는 다음과 같이 있다.Super key (수퍼키)Candidate key (후
velog.io