일기장에 기억하기 쉽게 간단히 정리
부모와 자식 관계로 볼 수 있다. ➡ 부모의 PK는 자식의 FK가 된다.
자식은 없을 수 있으나, 부모는 존재해야 한다.
즉 부모 없는 자식은 없다 ➡ 오류 발생
1:M 관계가 너무 많아서 복잡해질 때 자신을 참조하는 관계를 나타내서 표시하는 것
하나의 테이블에 PK와 FK가 있게 설계한다.
PK와 부모 ID를 FK로 두고 재귀적 관계를 설정한다.
셀프 조인이라고도 불림.
본인의 상위부서를 확인할 수 있게 한다.
최상위 부서는 상위부서가 존재하지 않기에 null을 허용한다.
헷갈리면, 테이블을 만들어 본다. !
예를 들어, 유저가 있고 유저가 팀에 가입하여 팀을 형성한다고 생각해 보자.
위 관계 테이블에서 join_id가 없고 team_id와 user_id를 복합키로 사용하면 상속형 PK라고 한다. 이는 복합키의 장점을 살리며 join_id를 따로 만들 필요가 없게 한다.
독립형 PK는 위에 그림 그대로이다.