728x90
SMALL

관계(Relationship)의 정의

- 엔터티의 인스턴스 사이의 논리적 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태, 관계의 페어링의 집합

예 ) 강사 - 가르친다(관계) - 수강생

 

관계(Relationship)의 페어링(Pairing)

- 인스턴스간의 개별적 관계 = 페어링   ---> '집합' 의 논리적 표현이 즉, '관계'

- 인스턴스간 관계가 설정되어있는 어커런스(Occurence)를 관계 페어링 이라고 하며, 이러한 관계 페어링의 집합을 관계! 


 

관계의 분류

- 존재에 의한 관계

이벤트나 액션, 행위에 의한 것이 아니라 단순히 소속되어 있기 때문에 나타나는 관계 

부서(엔터티)에 소속된 사원(인스턴스)

- 행위에 의한 관계

특정 행위에 의해 관계가 발생하는 관계

고객(엔터티)는 주문(인스턴스) 한다.(행위)


관계의 표기법

- 관계명(Membership): 관계의 이름, 엔터티가 관계에 참여하는 형태, 각 관계는 2개의 관계명 및 관점을 가짐

- 관계차수(Cardinality): 1:1, 1:M, M:N

관계차수(1:1)
관계차수(1:M)

*한명의 사원은 한 부서에 소속되고 한 부서는 여러 사원을 포함한다.

관계차수 M:N


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

(예시) 선택 관계

- 하나의 주문목록에는 한 개의 목록을 항상 포함하고 한 목록은 여러 개의 주문 목록에 의해 포함될 수 있다.

선택참여하는 엔티티 쪽에 원을 표시한다.


관계 체크사항

두개의 엔터티 사이에서 관계를 정의할 때에는 다음과 같은 사항들을 체크해 보아야 한다.

 

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

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

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

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

 

[출처] Sql 전문가 가이드

728x90
반응형
LIST

'Self Study > SQLD' 카테고리의 다른 글

[SQLD] 정규화(Normalization)  (0) 2022.11.03
[SQLD] 성능데이터 모델링  (0) 2022.11.03
[SQLD] 속성(Attribute)  (0) 2022.11.02
[SQLD] 엔터티 (Entity)  (0) 2022.11.02
[SQLD] 데이터 모델링의 중요한 세 가지 개념  (0) 2022.11.02

+ Recent posts