1. 관계의 개념
엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로써 서로에게 연관성이 부여된 상태
관계의 페어링
관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것을 집합으로 관계를 표현한다는 것
엔티티 내에 인스턴스와 인스턴스사이에 관계가 설정되어 있는 어커런스를 관계 페어링이라 한다.
2. 관계의 분류
UML(Unified Modeling Language)에는 클래스다이어그램의 관계 중 연관관계(Association)와 의존관계(Dependency)가 있다. 이 둘의 차이는 연관관계는 항상 이용하는 관계로 존재적 관계에 해당하고 의존관계는 상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현한다.
연관관계 표현방법
실선으로 표현되고 소스코드에서 멤버변수로 선언하여 사용
의존관계 표현방법
점선으로 표현되고 행위를 나타내는 코드인 Operation(Method)에서 파라미터 등으로 이용할 수 있도록 되어 있다.
3. 관계의 표기법
- 관계명(Membership) : 관계의 이름
- 관계차수(Cardinality) : 1:1, 1:M, M:N
- 관계선택사양(Optionality) : 필수관계, 선택관계
관계명

엔터티에서 관계가 시작되는 편을 관계시작점(The Beginning)이라 부르고 받는 편을 관계끝점(The End)이라고 부른다.
관계 시작점과 끝점 모두 관계이름을 가져야 하며 참여자의 관점에 따라 관계이름이 능동적(Active)이거나 수동적(Passive)으로 명명된다.
- 애매한 동사를 피한다.
- 현재형으로 표현한다.
관계차수
두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것
- 1:1(ONE TO ONE) 관계

- 1:M(ONE TO MANY) 관계

- M:M(MANY TO MANY) 관계

관계선택사양
- 필수참여 관계 → 지하철출발과 지하철문 닫힘
- 선택적인 관계 → 지하철출발과 지하철방송
4. 관계의 정의 및 읽는 방법
관계 체크사항
- 두 개의 엔터티 사이에 관심 있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무시술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동가(Verb)가 있는가?
관계 읽기
- 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나이상)를 읽는다.
- 관계선택사양과 관계명을 읽는다.

'자격증 > SQLD' 카테고리의 다른 글
| SQLD / 과목 1 / 제 2장 데이터 모델과 성능 / 성능 데이터 모델링의 개요 (0) | 2023.03.08 |
|---|---|
| SQLD / 과목 1 / 제 1장 데이터 모델링의 이해 / 식별자 (0) | 2023.03.07 |
| SQLD / 과목 1 / 제 1장 데이터 모델링의 이해 / 속성 (0) | 2023.03.07 |
| SQLD / 과목 1 / 제 1장 데이터 모델링의 이해 / 엔터티 (0) | 2023.03.07 |
| SQLD / 과목 1 / 제 1장 데이터 모델링의 이해 / 모델링의 이해 (0) | 2023.03.07 |