키 ?
<aside>
💡 DB에서 키는 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때
다른 튜플들과 구별할 수 있는 기준이 되는 속성
</aside>
예를 들어
고객 정보를 저장한 릴레이션에는 많은 고객들에 대한 튜플이 존재하고,
각 튜플들 간에는 중복되는 속성 값이 발생할 수 있음**(이름, 나이, 사는 곳 등의 정보)**
이때 각각의 고객(튜플)을 구분하기 위한 기준이 되는 속성이 필요
그것을 키 라고 부르며 하나의 속성 또는 여러 속성들의 집합으로 표현 가능
키의 종류
- 대체키(보조키) - 후보키 중 선택받지 못한 키
- 기본키(유일키) - 후보키 중 선택받은 키
- 후보키 - 기본키가 될 수 있는 키**(유일성 O 최소성 O)**
- 슈퍼키 - 유일성 O , 최소성 X
- 외래키 - 다른 릴레이션의 기본키를 참조하는 것
- 복합키 - 두 개의 칼럼 또는 그 이상의 속성들로 구성된 후보키
- 대리키(인공키) - 식별하는 것을 목적으로 하는 인공키를 대리키라고 함
- 자연키 - 대리키와 달리 테이블을 이루는 속성들 가운데 의미를 담고 있는 후보키
기본키 특징