[DATABASE] 식별/비식별 관계

또잉의 공부일지·2023년 8월 17일

식별 관계: 부모의 기본 키가 자식의 외래 키로 사용되며, 자식의 레코드를 부모 없이 식별할 수 없는 상황.

비식별 관계: 부모의 기본 키가 자식의 외래 키로 사용되지만, 자식의 레코드를 부모 없이도 추가적인 식별자로 구분하여 식별할 수 있는 상황.


위의 ERD는 이번 나이스마켓 프로젝트를 위해 설계한 데이터베이스 스키마이다.
일대다, 일대일 관계가 맞는지 좀 헷갈린다.

위의 ERD를 통해 생각해봤을 때,

식별 관계 예시:

  • Users 테이블 - Orders 테이블.
    각 주문은 하나의 사용자에 의해 생성된다. 즉, 주문을 식별하는 데에는 해당 주문을 생성한 사용자 정보가 필요하다. 따라서 Orders 테이블의 user_id 열은 외래 키로 사용되는 동시에 주문을 구분하는 기본 식별자 역할을 하게 된다.

비식별 관계 예시:

  • OrderItems 테이블 - Orders 테이블.
    각 주문 아이템은 하나의 주문에 속하며, 주문 아이템을 구분하는 데에는 해당 주문의 정보만으로도 충분하다.

최근에는 비식별 관계를 주로 사용한다.

0개의 댓글