728x90
반응형
관계의 표기법은 ER 다이어그램(ERD)에서 엔터티 간의 관계를 시각적으로 표현하는 방법입니다. 이를 통해 엔터티들이 어떻게 연결되고 상호작용하는지 알 수 있습니다. 관계를 표현할 때는 관계명, 관계차수(카디널리티), 그리고 관계 선택사항(필수/선택 관계)을 고려하여 표기합니다.
관계를 설명할 때는 [관계명, 관계차수, 관계선택사양(필수관계, 선택관계)]라는 세 가지 중요한 개념이 있다.
1. 관계명 (Relationship Name)
- 관계명은 두 엔터티 간의 연결된 의미를 나타내는 이름입니다. 관계명은 보통 동사로 표현되며, 두 엔터티가 어떤 방식으로 상호작용하는지를 설명합니다.
- 예시: "학생"과 "수업" 엔터티 간의 관계는 "등록한다"로 표현될 수 있습니다. 이때 "등록한다"가 관계명이 됩니다.
관계명은 두 엔티티(객체)가 어떻게(HOW) 연결되는지를 나타내는 이름으로 "동사"로 표햔된다. 예를 들면 "학생"이 "수업"에 [등록한다]는 관계가 있다. 여기서 [등록하다]가 관계명이다.
2. 관계차수 (Cardinality)
- 관계차수는 두 엔터티 간의 연결된 개수를 나타냅니다. 즉, 한 엔터티가 다른 엔터티와 몇 번이나 연결될 수 있는지를 설명합니다.
- 주요 관계차수 유형:
- 1:1 관계: 한 엔터티가 다른 엔터티와 한 번만 연결됩니다.
- 1:N 관계: 한 엔터티가 여러 개의 다른 엔터티와 연결될 수 있습니다.
- M:N 관계: 여러 개의 엔터티가 서로 여러 번 연결될 수 있습니다.
- 예시: "학생"과 "수업" 간의 관계에서, 한 학생이 여러 수업에 등록할 수 있으므로 1:N 관계가 됩니다.
관계차수는 두 엔티티(객체)가 몇 번 연결될 수 있는지를 나타낸다. 즉, 한 엔티티가 다른 엔티티와 몇 번이나 연결될 수 있는 지를 보여준다.
3. 관계 선택사항 (Optionality): 필수관계 vs 선택관계
- 필수관계 (Mandatory Relationship): 한 엔터티가 반드시 다른 엔터티와 연결되어야 하는 경우입니다. 즉, 한쪽 엔터티에 대응하는 다른 쪽 엔터티가 반드시 존재해야 합니다.
- 예시: "학생"과 "학번"은 필수적으로 연결되어야 합니다. 학생이 존재하면 반드시 학번이 있어야 하므로 필수관계입니다.
필수: 두 엔티티가 꼭 연결되어 있어야 하는 경우("학생"은 무조건 "학번"을 부여 받아야 한다.)
- 선택관계 (Optional Relationship): 한 엔터티가 다른 엔터티와 연결되지 않아도 되는 경우입니다. 즉, 한쪽 엔터티에 대응하는 다른 쪽 엔터티가 없어도 됩니다.
- 예시: "고객"과 "주문" 간의 관계에서, 고객이 주문을 하지 않을 수도 있기 때문에 선택관계입니다.
선택: 두 엔티티가 꼭 연결되지 않아도 되는 경우("고객"은 "주문"을 하지 않아도 "고객"이다.)
Citations:
[1] https://opendsa-server.cs.vt.edu/ODSA/Books/Database/html/ERDNotations.html
[2] https://ftpdocs.broadcom.com/cadocs/0/CA%20Gen%208%205-ENU/Bookshelf_Files/HTML/Tutorial/1460330.html
[3] https://stackoverflow.com/questions/38034049/is-optionality-mandatory-optional-and-participation-total-partial-are-same
[4] https://eng.libretexts.org/Courses/Delta_College/Introduction_to_Database_Systems/04:_Integrity_Rules_Constraints_and_Functional_Dependencies/4.03:_Relationship_Types
[5] https://www.tutorialspoint.com/mandatory-and-optional-participation
반응형
'IT > SQLD' 카테고리의 다른 글
SQLD 노랭이 [정규형] (5) | 2024.11.08 |
---|---|
SQLD 노랭이 [식별자의 종류/특징/분류] (2) | 2024.11.08 |
SQLD 노랭이 [도메인] (1) | 2024.11.08 |
SQLD 노랭이 [속성의 특성에 따른 분류] (1) | 2024.11.08 |
SQLD 노랭이 [엔티티, 인스턴스, 속성, 속성값]의 관계 (0) | 2024.11.08 |