[DB] ER 다이어그램 읽는법 - 기초
헷갈리는 ERD 읽기
ER 다이어그램을 보며 헷갈리는 부분을 정리해보았다. 특히, 참여 제약조건과 카디널리티 부분이 많이 헷갈리는데 의미가 왜곡되지 않도록 꼭 숙지해야겠다.
Chen notation
ER 다이어그램을 처음 제시한 Chen
의 모델링 방법이다.
Cardinality (Chen)
위 사진에서 두 번째 관계의 Cardinality를 중심으로 봐보자.
Customer
는 N개의Order
를 place할 수 있다.Order
는 1명의Customer
에 의해 placed 된다.
Chen-notation
에서 특정 엔티티의 Cardinality는 상대 엔티티에 적힌 숫자를 보고 판단한다.
Participation (Chen)
Chen-notation
에서는…
- 엔티티와 관계를 2줄로 연결하여
total participation
을 나타낸다. - 엔티티와 관계를 1줄로 연결하여
partial participation
을 나타낸다.
위 관계의 Participation constraint를(참여 제약) 해석해보면
Professor
는Student
를 반드시 guide하지 않아도 된다.Student
는 자신을 guide 해주는Professor
를 반드시 갖는다.
Chen-notation
에서 특정 엔티티의 participation constraint는 자신과 관계에 연결된 줄의 개수를 보고 판단한다.
Crow’s foot
Crow's foot
은 간결한 notation으로 많이 사용되는 모델링 기법이다.
Crow's foot
과 Chen notation
은 읽는 방법이 살짝 다르다.
Cardinality & Participation constraint (Crow’s foot)
Chen-notation
과는 다르게 여러가지 모양으로 cardinality와 participation을 한번에 표현할 수 있다!
위 그림의 두 번째 관계의 Cardinality를 중심으로 봐보자.
Customer
는 여러개의Order
를 가질 수 있고 없을 수도 있다.Order
는 딱 하나의Customer
에 의해 주문되어야 한다.
Crow's foot
에서는 특정 엔티티의 Cardinality와 Participation이 반대 엔티티 쪽에 모두 표시되어 있고 그래야만 한다.
정리
Chen-notation
- 특정 엔티티의 Cardinality는 반대 엔티티에 작성한다.
- 특정 엔티티의 Participation constraint는 그 엔티티 자신 쪽에 작성한다.
Crow’s foot
- 특정 엔티티의 Cardinality는 반대 엔티티에 작성한다.
- 특정 엔티티의 Participation constraint는 반대 엔티티에 작성한다.
그 외 (IDEFX1 등)
그 외 모델링 기법은 Crow’s foot을 읽는 방식과 동일한 것으로 파악된다. (확실치 않음!)