앞서 Entity의 개념에 대해 설명했는데, 이번엔 Weak/Strong Entity, 그리고 (non)-ID-dependent 에 대해 간략하게 설명해보고자 한다.
이전 글
https://baram1ng.tistory.com/27
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로 참조되며 점선으로 그 관계가 표현되어 있음을 확인할 수 있다.
'Database' 카테고리의 다른 글
[Database] 정규화(Normalization)/비정규화(Denormalization) (0) | 2024.06.12 |
---|---|
[Database] Entity Relationships (3) (1) | 2024.06.11 |
[Database] Entity Relationships (1) (2) | 2024.06.11 |
[Database] Functional Dependency(함수적 의존성) (2) | 2024.04.21 |
[Database] 데이터 무결성 (1) | 2024.04.19 |