본문 바로가기
자격증/SQL개발자(SQLD)

1-4장. 데이터 모델링의 이해_관계(Relationship)

by 김엉배 2023. 5. 14.
728x90
반응형

 

SQLD 단원별 목록으로


 

1. 관계의 개념

가) 관계의 정의

- 사전적 정의: 상호 연관성이 있는 상태.

- 데이터 모델 정의: 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로써 서로 연관성이 부여된 상태.

 

나) 관계의 페어링

- 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고, 이것을 집합을 관계로 표현한다.

- 개별 인스턴스가 각각 다른 종료의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계를 형성될 수 있다.

 


2. 관계의 분류

- 관계를 연결함에 있어 어떤 목적으로 연결되었느냐에 따라 분류가 된다.

 

- UML(Unified Modeling Language)에는 클래스다이어그램 관계

   1) 연관관계(Association):  항상 이용하는 관계로 존재적 관계에 해당, 실선으로 표현

   2) 의존관계(Dependency): 상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현, 점섬으로 표현

 


3. 관계의 표기법

- 관계명(Membership): 관계의 이름

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

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

 

가) 관계명(Membership)

- 엔터티가 관계에 참여하는 형태를 지칭. 각가의 관계명에 의해 두 가지의 관점으로 표현될 수 있다.

- 관계가 시작되는 편을 관계시작점, 받는 편을 관계끝점이라 부른다.

- 참여자의 관점에 따라 관계이름이 능동적이거나 수동적으로 명명된다.

 

나) 관계차수(Degree/Cardinality)

- 두 개의 엔터티가 관계에서 참여자의 수를 표현하는 것을 관계차수라고 한다.

- 가장 일반적인 관계차수 표현방법은 1:M, 1:1, M:N 이다.

관계를 맺는 다른 엔터티의 엔터티에 대해 단지 하나의 관계만을 가지고 있다.
관계를 맺는 다른 엔터티의 엔터티에 대해 하나나 그 이상의 수와 관계를 가지고 있다, 그러나 반대 방향은 하나의 관계를 가진다.
각각의 엔터티는 관계를 맺는 다른 엔터티의 엔터티에 대해 하나나 그 이상의 수와 관계를 가지고 있다.

 

다) 관계선택사양(Optionality)

- 참여하는 엔터티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법이 필수와 선택참여이다.

 


4. 관계의 정의 및 읽는 방법

728x90
반응형