두 관계를 나누는 기준은 단 하나다.
부모 테이블의 기본 키(PK)를 자식의 PK 일부로까지 사용하면 식별 관계, 부모의 PK를 그냥 외래 키(FK) 일반 컬럼으로만 쓰고, 자식이 자기 PK를 따로 가지면 비식별 관계이다.
정리하면 다음과 같다.
| 구분 | 식별 관계 (Identifying) | 비식별 관계 (Non-identifying) |
|---|---|---|
| 자식 PK 구성 | 부모 PK + 자식 고유 컬럼으로 복합 PK를 만든다. | 자식만의 대리 키(Surrogate Key) 를 PK로 가진다. |
| 부모 PK의 역할 | PK이면서 동시에 FK이다. (PK + FK) | 단순 FK 컬럼이다. (PK와 분리) |
| 관계 강도 | 부모에 강하게 의존한다. 부모 없이는 자식 식별이 불가능하다. | 자식이 독립적으로 식별된다. 부모는 단순 연결 정보이다. |
1) 아파트 동–호수: 식별 관계
101동 502호라고 할 때, 502호만으로는 집을 정확히 특정할 수 없다.101동이라는 부모 정보를 함께 써야 한다.(101동, 502호)101동이 자식 식별자의 일부가 되어야만 완전해진다.이처럼 부모 정보가 없으면 자식을 식별할 수 없는 관계가 식별 관계이다.
2) 회사–사원: 비식별 관계
사원번호 777번이라면, 이 번호만으로 나를 식별할 수 있다.사원번호 777번이처럼 자식이 부모 없이도 독립적인 식별자를 가지는 관계가 비식별 관계이다.
개념적 모델링에서 자주 등장하는 개념이 약한 엔티티와 강한 엔티티이다.