수퍼키 : 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합
후보키 : 각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임
* 수퍼 키와 후보 키의 유일한 차이점은 "최소성"이 존재하냐의 여부이다
복합키 : 두 개 이상의 애트리뷰트로 구성되는 후보 키를 복합 키라고 한다
기본키 : 한 릴레이션에 후보 키가 두 개 이상 있으면 이들 중 하나를 기본 키로 선정한다(PK를 만들면 INDEX가 생성된다)
* 단일 PK/UK의 경우 단일컬럼에 대해서만 중복 금지를 하지만 다중 PK/UK는 설정된 다중컬럼을 합쳐서 중복금지를 한다
대리키 : 자연스러운 기본 키를 찾을 수 없는 경우에는 레코드 번호와 같이 종종 인위적인 키 애트리뷰트를 릴레이션에 추가할 수 있는데, 이런 키를 대리 키라고 한다
* 대리키
장점 : 조인을 여러번 하지 않아서 편하다(여러 번 조인을 하면 느려진다)
단점 : 컬럼 가독성이 떨어진다
대체키 : 대체 키는 기본 키로 선정되지 않은 후보 키를 말한다
외래키 : 어떤 릴레이션의 기본 키를 참조하는 애트리뷰트이다
'데이터베이스' 카테고리의 다른 글
Outer Join 시 데이터 없을 경우 Count를 0 처리하는 방법 (1) | 2020.09.25 |
---|---|
MySQL rank 함수 (0) | 2020.08.04 |
ERD 관계 해석해보기 (0) | 2019.06.16 |
식별관계, 비식별관계 (0) | 2019.05.02 |
Mysql 5.7 이후 버전 비밀번호 변경 방법 (0) | 2018.12.24 |