슈퍼키
- 해당 객체를 고유하게 식별할 수 있는 속성들의 집합
- 쉽게 말하면 중복되지 않는(유일성을 만족하는) 모든 요소들을 말한다.
- ex) 주민등록번호, 학번, 아이디+비밀번호 ...
후보키
- 슈퍼키 중 최소한의 갯수로 객체를 식별할 수 있는 키
- ex) 주민등록번호, 학번
기본키(Primary Key)
- 후보키 중 유일성과 최소성을 만족하는 하나의 키
- 여러개가 가능하다면 그 중 하나만 기본키가 될 수 있다.
- 유일성을 만족해야 하므로 중복되선 안되고, 식별을 위한 키이기 때문에 null일 수 없다.
대체키
- 후보키 중 기본키를 제외한 나머지 키
외래키(Foreign Key)
- 다른 테이블의 기본키를 참조하여 조회할 수 있도록 연관관계를 만들기 위한 키이다.
- 외래키의 주인을 부모테이블, 외래키를 가지고 있는 테이블을 자식테이블이라고 한다.
- 부모테이블이 먼저 생성되어야 자식테이블을 생성할 수 있다.
- 부모 테이블을 먼저 삭제하면 자식테이블은 참조할 값이 사라지기 때문에 부모테이블을 먼저 삭제할 수 없다.
정리
기본키는 유일성과 최소한의 갯수로 객체를 식별할 수 있는 조건을 만족해야 한다. 또한, 객체를 식별해야 하므로 null일 수 없다. 외래키는 다른 테이블의 기본키를 참조하여 생성한다. 다른 테이블의 값을 참조할 수 있게 해주고, 무결성을 지켜준다. 외래키를 기본키로서 가지고 있는 테이블을 부모테이블, 외래키로 부모테이블을 참조하는 테이블을 자식테이블이라고 한다. 자식테이블은 부모 테이블을 참조하기 때문에 부모테이블이 먼저 생성되어야 하며, 같은 이유로 부모테이블이 먼저 삭제될 순 없다.
'TIL > 기술면접 대비' 카테고리의 다른 글
CORS(Cross Origin Resource Sharing) (0) | 2023.08.22 |
---|---|
HTTP 메서드 (0) | 2023.08.21 |
RDBMS의 정규화 (0) | 2023.08.18 |
mvc 패턴 (0) | 2023.08.17 |
NoSQL과 RDBMS의 특징과 차이점(장, 단점)에 대해서 (0) | 2023.08.16 |