[Database] Entity Relationships (2)

앞서 Entity의 개념에 대해 설명했는데, 이번엔 Weak/Strong Entity, 그리고 (non)-ID-dependent 에 대해 간략하게 설명해보고자 한다.

 

이전 글

https://baram1ng.tistory.com/27

 

Entity Relationships (1)

DB를 설계할 때, 가장 중요하게 생각해야 할 부분이 바로 Entity Relationships이다. 오늘은 Entity Relationships에 대해 소개하고자 한다. 그전에 Entity를 모르는 사람들을 위해 Entity에 대한 정확한 정의를

baram1ng.tistory.com


Weak Entity

 

Weak Entity란 Strong Entity없이는 무의미한 엔터티이다. 즉, DB에서 독립적으로 존재할 수 없는 Entity이다. Weak Entity가 아닌 다른 모든 엔터티는 Strong Entity로 구분된다.

 

예를 들어 고객-주문 Relationship을 생각할 수 있다. 고객 엔터티는 기본 키로 고객 ID를 가진다. 그리고 주문 엔터티는 고객 ID와 주문 번호(Order ID)를 결합하여 주문을 식별합니다. 이때, 주문은 고객 없이는 존재할 수 없으며 주문 엔터티를 Weak Entity라고 할 수 있다.

 

 

ID-dependent weak entity

 

Weak Entity는 ID-dependent weak entity와 non-ID-dependent weak entity로 구분할 수 있다.

 

먼저 ID-depedent weak entity는 strong entity와 강한 연결관계를 표현하는 Entity다. 이 경우, ID-dependent weak entity는 복합식별자를 가지며, strong 엔터티의 Identifier가 weak 엔터티의 Identifier인 경우를 의미하며 실선으로 그 관계가 표현이 된다.

 

아래 예시는 ID-depedent weak entity를 표현한 것이다. Project가 strong entity며, Assignment가 ID-depedent weak entity이다. 이때 부모 엔터티의 Identifier인 ProjectID가 자식 엔터티 Assignment의 Identifier로 표현되고 있어 강한 연결관계를 표현했다고 이해할 수 있다. (Weak Entity는 일반적으로 Rounded sqare로 표현한다.)

 

 

non ID-depedent weak entity

 

non ID-depedent weak entity란 ID-depedent weak entity보다는 약한 연결관계를 가진 weak entity를 의미한다. 이때, non ID-depedent weak entity는 단독 혹은 복합 Identifier를 가지게 되며 non ID-depedent weak entity의 관계는 점선으로 표현이 된다.

 

아래 예시는 non ID-depedent weak entity의 예시이다. 부모 엔터티 Patient의 Identifier가 자식 엔터티 Prescription의 Foreign key로 참조되며 점선으로 그 관계가 표현되어 있음을 확인할 수 있다.