자주 사용되는 기본키와 외래키 이외에 다른 분류가 존재하더라.
자주 헷갈리니 간단히 정리
슈퍼키
테이블의 행을 고유 식별가능한 속성의 집합
즉, 고유 식별할 수 있는 모든 조합
후보키에 불필요한 속성을 덧붙여 장황하게 가능함
후보키
슈퍼키 중 더 이상 줄일 수 없음
행의 <식별자>, 최소성 만족
기본키가 될 수 있는 키 (기본키의 후보들)
기본키
주키, 주요키, 프라이머리키
후보키 중에서 가장 적합하다고 판단되는 것으로 설계자가 선택
고유성(UNIQUE), 존재성(NOT NULL)
대체키
후보키 중에서 기본키가 아닌 것
외래키
외부키
두 테이블 사이의 관계를 나타낼 때 필수
참조하려는 테이블 <---> 참조되는 테이블
정규화 밀접