관계선보다 중요한 판단 기준

부모 PK가 자식의 PK까지 들어가면 식별 관계, 참조만 하면 비식별 관계입니다.

같은 1:N 관계여도 자식이 부모와 함께 식별되는지, 아니면 부모를 독립적으로 참조하는지에 따라 선 모양과 생명주기가 함께 달라집니다.

빠른 판단

자식의 기본키를 설계할 때 부모 키가 빠지면 식별 관계가 아닙니다. 실무에서는 독립성이 필요한 비식별 관계가 더 흔합니다.

식별 관계

부모와 함께 자식이 식별됨

비식별 관계

부모는 자식을 참조시키는 기준만 제공

관계선
실선

부모-자식이 한 묶음으로 설계된다는 신호입니다.

점선

부모는 참조 대상이고, 자식의 식별 자체는 분리됩니다.

키 구조
부모 PK가 자식 PK에 포함
주문 PK = order_id 주문상세 PK = {order_id, product_id}
부모 PK는 자식의 일반 FK로만 존재
부서 PK = dept_id 사원 PK = emp_id 사원 FK = dept_id
존재성
부모 없이 자식을 식별하기 어렵다

주문이 사라지면 주문상세도 함께 의미를 잃습니다. 생명주기가 강하게 묶여 있습니다.

자식이 독립적으로 관리될 수 있다

사원은 부서를 참조하지만, 기본키는 사원 자체로 유지됩니다. NULL 허용 설계도 가능합니다.

대표 예시
주문 ↔ 주문상세

게시글 ↔ 첨부파일처럼 부모와 함께 생성·삭제되는 경우에도 잘 맞습니다.

부서 ↔ 사원

게시글 ↔ 작성자처럼 참조는 필요하지만 각 엔터티가 독립적으로 관리될 때 사용합니다.

식별 관계를 쓰는 때

자식이 부모의 일부처럼 움직이고, 부모 키를 포함해야만 자식을 자연스럽게 식별할 수 있을 때.

비식별 관계를 쓰는 때

참조는 필요하지만 자식의 독립성과 확장성이 더 중요할 때. 대부분의 실무 관계가 여기에 가깝습니다.