[DB] 개체-관계(ER : Entity-Relationship) 모델 (2)
2021. 10. 12. 17:00ㆍMajor`/DB
관계 제약조건 (참여 특성)
1. 필수적 참여 (Total Participation)
- 모든 개체 인스턴스가 관계에 반드시 참여
- ER 다이어그램 표기법 : 이중선
2. 선택적 참여 (Partial Participation)
- 개체 인스턴스 중 일부만 관계에 참여해도 됨 / 참여를 안 해도 됨
- ER 다이어그램 표기법 : 실선
※ Example 1)
- 1개의 학과는 여러명의 학생이 소속된다
- 1개의 학과에 학생이 없을 수도 있다 -> 신설학과 / 입학 전 (학과는 선택적 참여)
- 1명의 학생은 반드시 1개의 학과에 소속된다 (학생은 필수적 참여)
※ Example 2)
- 1명의 고객은 여러권의 책을 구매할 수 있다
- 고객은 반드시 책을 구매해야 한다 (고객은 필수적 참여)
- 1권의 책은 여러 명의 고객이 구매한다.
- 책은 구매되지 않을 수 있다. (책은 선택적 참여)
※ 역할
- 개체 간의 관계를 표현할 때 각 개체들은 고유한 역할을 담당
- 관계만으로 알 수 있으면 생략하지만, 관계에서 역할이 명확하지 않을 때는 반드시 표기
순환 관계 (Recursive Relationship)
- 순환 관계에서는 반드시 역할을 표기
관계의 종속성 (약한 개체 / 강한 개체)
- 약한 개체 (Weak Entity)
- 다른 개체의 존재 여부에 의존, 종속적인 개체
- 자신을 식별해주는 강한 개체가 없으면, 식별할 수 없는 종속된 개체
- 기본키를 갖지 않는 개체
- 강한 개체 (Strong Entity)
- 약한 개체의 존재 여부를 결정하는 개체
- 다른 개체의 존재 여부와 관계없이 독립적으로 존재(식별 가능한) 개체
약한 개체의 특성
1. 식별 개체가 반드시 존재해야 한다. (강한 개체)
2. 강한 개체 - 약한개체의 매핑 카디날리티 : 1:N
- 1개의 강한 개체는 0개 이상의 약한 개체와 관계를 맺음 (강한 개체는 선택적 참여)
- 1개의 약한 개체는 1개의 식별 개체와 관계를 맺음 (약한 개체는 필수적 참여)
3. 약한 개체 기본키 = 강한 개체 기본키 + 약한 개체 구별자
- 구별자 : 약한 개체의 각 인스턴스를 고유하게 식별해주는 속성 / 점선으로 표시
4. ER 다이어그램 표기법
※ Example
ER 다이어그램 표기법들 (Crow's Foot vs Chen)
- Crow's Foot (새발 표기법)
- Crow's Foot vs Chen