-> 블로그 이전

[DB] 개체-관계(ER : Entity-Relationship) 모델 (2)

2021. 10. 12. 17:00Major`/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