TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

데이터 모델링의 이해 - 관계

by 기록자_Recordian 2023. 12. 27.
728x90
반응형

SQLD 1과목 데이터 모델링의 이해

<목차>

 

4. 관계

A. 관계의 개념

- 엔터티간 논리적인 연관성 의미

- 엔터티의 정의에 따라 영향받을 수 있음

- 속성 정의 및 관계 정의에 따라서 다양하게 변화


B. 관계의 분류

 

존재에 의한 관계 / 행위에 의한 관계

출처:&nbsp; https://blog.naver.com/dlwoen9/220854732471

 

- 관계는 존재에 의한 관계와 행위에 의한 관계로 구분될 수 있으나 ERD에서는 관계를 연결할 때, 존재와 행위를 구분하지 않고 단일화된 표기법을 사용

> ERD: 관계 구분하지 않고 표현 / 클래스다이어그램: 관계 구분하여 표현 (연관 - 실선 / 의존 - 점선)

 

- UML(Unified Modeling Language) 에는 클래스다이어그램의 관계 중 연관관계(Association)와 의존관계 (Dependency)가 있고 이것은 실선과 점선의 표기법으로 다르게 표현됨.

 

- 연관관계: 항상 이용하는 관계 / 의존관계: 상대방 클래스의 행위에 의해 관계 형성

 

- 존재적 관계의 사례: 부서와 사원 엔터티 간의 '소속' 관계

 

- 행위에 의한 관계의 사례: 주문과 배송 엔터티 간의 '배송 근거' 관계


C. 관계의 표기법

 

(1) 관계명: 관계의 이름

- 관계에 엔터티가 참여하는 형태 정의

- 관계의 기수성 표현 (참여자의 수 표현)

- 각 두 개의 관계명을 가짐

- 관계명은 능동적 또는 수동적으로 명명

- 애매한 동사를 피하고 현재형으로 표현

 

(2) 관계차수: 관계있는 엔터티 간에 참여하는 수 의미

 

1:1, 1:M, M:M(N)

 

1:1 관계의 예

- 주민번호는 한 사람당 1개만 가질 수 있음

 

1:M 관계의 예

- 게시글과 댓글: 게시글은 1개씩만 존재해야 하고, 댓글은 0~N 개가 존재할 수 있음

 

M:N 관계의 예

- 한 명의 학생은 N개의 강의를 들을 수 있고, 한 개의 강의는 N명의 학생을 가짐.

 

(3) 관계선택사양: 필수 관계, 선택 관계

엔터티가 관계에 있어 항상 참여하는지, > 부서 - 사원 (모든 사원이 각 부서에 소속)

선택적 참여를 하는지 표기 > 고객 - 주문 (고객이 주문하지 않는 경우도 있음)

 

 

출처:&nbsp; https://blog.naver.com/aozp73/223027535997

 

 

* 두 개의 엔터티 사이에 정의한 관계를 체크하는 사항

a) 두 개의 엔터티 사이에 관심 있는 연관규칙이 존재하는가?

b) 두 개의 엔터티 사이에 정보의 조합이 발생되는가?

c) 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?

d) 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?

 

* 관계 읽기

- 기준(Source) 엔터티를 한 개 (One) 또는 각(Each)으로 읽는다.

- 대상 (Target) 엔터티의 관계참여도 즉, 개수(하나, 하나이상)를 읽는다.

- 관계선택사양과 관계명을 읽는다.


이전글

속성

 

다음글

식별자

 

728x90
반응형