본문 바로가기
TIL/기술면접 대비

Primary Key, Foreign Key

by J1-H00N 2023. 8. 20.

슈퍼키 

  • 해당 객체를 고유하게 식별할 수 있는 속성들의 집합
  • 쉽게 말하면 중복되지 않는(유일성을 만족하는) 모든 요소들을 말한다.
  • 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