Computer Science/데이터 베이스

[데이터베이스] ER 모델(관계, Relationship)

바보1 2023. 10. 21. 02:25

앞의 글을 읽으시면 이해에 도움이 됩니다.

 

2023.10.21 - [Computer Science/데이터 베이스] - [데이터베이스] ER 모델(Entity Type, Entity Sets, Attributes and Keys)

 

[데이터베이스] ER 모델(Entity Type, Entity Sets, Attributes and Keys)

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.10.20 - [Computer Science/데이터 베이스] - [데이터베이스] 스키마(Schema), 인스턴스(Instance), 상태(State) [데이터베이스] 스키마(Schema), 인스턴스(Instance),

hi-guten-tag.tistory.com


1. 관계(Relationship)란?

 

 

  • 위의 그림에는 여러 가지 암묵적인 관계가 존재합니다.
  • 즉 어떤 엔티티 타입의 한 애트리뷰트가 다른 엔티티 타입을 참조할 때, 우리는 두 엔티티 간에 관계(Relationship)가 있다고 말합니다.
  • 예를 들어 DEPARTMENT 엔티티 타입의 Manager 애트리뷰트는 EMPLOYEE를 참조하고,
  • PROJECT의 Controlling_department 애트리뷰트는 DEPARTMENT를 참조합니다.
  • ER 모델에서는 이러한 참조들을 애트리뷰트들로 표현하지 않고 관계로 명시해야 합니다.
  • 즉 Manager 대신 Manage라는 관계로, Controlling_department가 아닌 Control이라는 관계로 명시합니다.

2. 관계 타입(Relationship Type), 관계 집합(Relationship Sets), 인스턴스(Instance)

 

 

  • 관계 타입(Relationship Type)이란 엔티티 타입들에 속하는 엔티티들 간의 관계의 타입입니다.
  • 관계 타입에는 관계의 이름, 참여하는 엔티티 타입, 관계의 제약 조건을 나타냅니다.
  • 관계 집합(Relationship Sets)은 관계 인스턴스(Instance)의 집합입니다.
  • 관계 집합은 관계 타입의 현재 상태를 나타냅니다. 

3. 관계의 차수, 역할 이름, 순환적 관계

 

 

  • 관계의 차수(degree of relationship)이란 관계에 참여하는 엔티티 타입의 개수를 의미합니다.
  • 아래 그림의 경우 관계에 참여하는 엔티티 타입이 2개이므로, 이진(Binary)라고 부릅니다.

  • 관계에 참여하는 엔티티 타입이 1개이면 Uni, 3개이면 (Tertiary)라고 부릅니다.

 

  • 역할 이름(Role Name)은 관계 타입에 참여하는 각 엔티티 타입이 관계 내에서 특정한 역할을 나타냅니다.
  • 예를 들어 WORKS_FOR 관계 타입에서 EMPLOYEE는 근로자의 역할을, DEPARTMENT는 부서의 역할을 합니다.
  • 관계 타입에 참여하는 모든 엔티티 타입이 다를 경우에 각 엔티티 타입의 이름이 역할 이름을 대신할 수 있습니다.
  • 그러나 하나의 엔티티 타입이 어떤 관계 타입에 두 번 이상 참여하면 어떻게 해야 할까요?
  • 이러한 관계 타입을 순환적 관계(Recursive Relationship) 혹은 자기 참조 관계(Self-Referenceing Relationship)이라고 합니다.
  • 관계 타입이 순환적 관계 혹은 자기참조 관계일 때는 반드시 역할 이름을 명시해야 합니다.

  • e1은 관계에 두 번 이상 참여하므로 역할 이름이 반드시 필요합니다.

참고

 

 

경북대학교 컴퓨터학부 COMP0322-004 데이타베이스 수업

DATABASE SYSTEMS 7th / Elmasri, Navathe 저 / PEARSON / 2019년


다음 글에서는 관계의 제약 조건, 관계 타입의 애트리뷰트에 대해 알아보겠습니다.

 

2023.10.25 - [Computer Science/데이터 베이스] - [데이터베이스] 관계의 제약 조건, 관계 타입의 애트리뷰트

 

[데이터베이스] 관계의 제약 조건, 관계 타입의 애트리뷰트

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.10.21 - [Computer Science/데이터 베이스] - [데이터베이스] ER 모델(관계, Relationship) [데이터베이스] ER 모델(관계, Relationship) 앞의 글을 읽으시면 이해에

hi-guten-tag.tistory.com

 

감사합니다.

지적 환영합니다.