학생은 과목을 수강한다. 회원은 주문을 한다.| 요소 | 설명 | ERD 표기법 (IE/Crow's Foot) |
|---|---|---|
| 관계명 (Name) | • 관계의 의미를 나타내는 이름. (주로 동사형) | 선 위에 관계명을 기술 |
| 관계 차수 (Cardinality) | • 두 엔터티 간에 참여하는 인스턴스의 개수. | 선의 끝 모양 (` |
| 관계 선택성 (Optionality) | • 다른 엔터티와의 관계가 필수적인지 선택적인지 여부. | 선의 끝 모양 (` |
| 차수 | 설명 | ERD 표기 | 예시 | 비고 |
|---|---|---|---|---|
| 1 : 1 (일대일) | • 엔터티 A의 인스턴스 하나가 엔터티 B의 인스턴스 하나와만 관계를 맺음. | `A | --- B` | • 사원 - 좌석• 사용자 - 사용자_상세정보 |
| 1 : N (일대다) | • 엔터티 A의 인스턴스 하나가 엔터티 B의 여러 인스턴스와 관계를 맺음. | `A | ---< B` | • 부서 - 사원• 고객 - 주문 |
| M : N (다대다) | • 엔터티 A의 여러 인스턴스가 엔터티 B의 여러 인스턴스와 관계를 맺음. | A >---< B | • 학생 - 과목• 상품 - 주문 | • 관계형 데이터베이스에서 직접 표현할 수 없음. |
학생과 과목의 M:N 관계수강신청이라는 새로운 관계 엔터티를 만듭니다.학생과 수강신청을 1:N 관계로 연결합니다. (한 명의 학생은 여러 과목을 수강신청할 수 있다.)과목과 수강신청을 1:N 관계로 연결합니다. (하나의 과목은 여러 학생에 의해 수강신청될 수 있다.)수강신청 엔터티는 양쪽 부모 엔터티의 식별자를 상속받아 자신의 주 식별자로 사용하며, 수강일자, 성적과 같은 추가적인 속성을 가질 수 있습니다.관계 선택성은 특정 엔터티의 인스턴스가 관계를 맺을 때, 상대편 엔터티의 인스턴스가 반드시 필요한지(필수), 아니면 없어도 되는지(선택)를 나타냅니다.
필수적 관계 (Mandatory, |):
| (막대)주문은 반드시 고객이 있어야만 존재할 수 있다. (고객 쪽이 필수)NOT NULL 제약조건과 관련이 깊습니다.선택적 관계 (Optional, O):
O (원)사원은 프로젝트에 참여할 수도, 안 할 수도 있다. (프로젝트 쪽이 선택)NULL을 허용하는 외래 키(Foreign Key)와 관련이 깊습니다.NULL 허용 여부를 결정하는 중요한 기준으로, 업무 규칙을 정확하게 반영해야 합니다.