ER Model은 여러 속성의 집합으로 표현된 개체간 관계를 관계성으로 표현합니다. 이때 두 가지의 제약조건을 통해 표현됩니다. 두가지 제약조건은 아래와 같습니다.
- 카디널리티 제약조건 (Cardinality Constraint)
- 참여 제약조건 (Participation Constraint)
하나의 Entity와 관계를 맺을 수 있는 Entity 개수라고 합니다.
관계 대응 수에 따라 1:1/1:N/N/M 관계로 나뉩니다.
일대일 관계 (one to one relationship)라 하며 각 개체들은 1:1로 대응됩니다.
일상생활에서 가장 많이 볼 수 있는 관계입니다.
일대다, 다대일 관계 (one to many, many to one relationship)라고 하며, 한 개체가 여러 개의 개체와 관계를 맺을 수 있으나, 역은 성립되지 않는 경우입니다.
다대다 관계 (many to many relationship)라고 하며, 한 개체가 여러 개의 개체를 가질 수도 있고, 그 역도 성립하는 경우입니다.
참여 제약조건이라고 합니다. 관계를 맺는 두 개체 중 한 개체가 다른 하나의 개체에 의존하는지를 표현하는 제약조건이라고 합니다. 다시말해 'Entity가 다른 Entity에 필수로 포함되어야 하는가?'를 생각하고 '부분참여'와 '전체참여'를 결정해 실선의 갯수로 표현합니다.
전체 참여 (Total Participation)란 하나 또는 그 이상이 참여하는 형태로, 한 개체(Entity)는 다른 개체(Entity)와 반드시 관계를 맺습니다.
부분 참여 (Partial Participation)는 선택적으로 참여하는 형태이며, 개체들이 관계를 맺을 수도 맺지 않을수도 있는 형태입니다.
.
.
.
.
.
ER Model과 제약조건에는 크게 두가지 '카디널리티'와 '참여'제약조건이 존재하고, 이는 1:1 1:N N:M 관계가 있으며, 참여제약조건은 전체참여와 부분참여가 있었습니다. 카디널리티와 참여제약조건은 동시에 조건이 걸릴 수 있습니다!
이번 시간에는 ER Diagram을 그려보는 실습까지 진행하였습니다. 시간이 된다면, '요구사항 분석 보고서'처럼 각자가 생각하고 조건들을 만들어 ER Diagram을 만들어보는것도 좋을 것 같습니다.