08. 식별 관계, 비식별 관계
식별 관계와 비식별 관계의 차이를 정리했다.
08. 식별 관계, 비식별 관계
이 글은 김영한님의 인프런 강의 실전 데이터베이스 설계 1편을 참고하여 정리한 글입니다.
1. 관계의 종류
두 관계를 가르는 기준은 하나다.
- 부모 테이블의 기본키를 물려받아 자식 테이블의 기본키 일부로 사용하는가? → 식별 관계
- 부모 테이블의 기본키를 단순히 일반 컬럼으로만 사용하는가? → 비식별 관계
2. 식별 관계
자식을 식별하는 데 부모가 사용되는 관계를 뜻한다. → 강한 관계, 약한 엔티티
- 약한 엔티티는 스스로 존재할 수 없기 때문에, 부모의 식별자를 가져와야 완전해진다.
- 부모 테이블의 기본키를 외래키로 받아, 자식 테이블의 기본키와 함께 복합키로 사용한다.
3. 비식별 관계
자식을 식별하는 데 부모가 사용되지 않고 자식만으로도 식별할 수 있는 관계를 뜻한다. → 약한 관계, 강한 엔티티
- 부모와의 연결은 여러 관계 중 하나일 뿐, 자식의 존재를 정의하지 않는다.
- 부모 테이블의 기본키를 외래키로 받아 일반 컬럼으로 사용한다. 자식의 기본키는 대리키로 별도 구성한다.