1. 관계의 개념
관계의 정의
엔터티와 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라도 다양하게 변할 수 있다.
관계의 패어링
관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것이고, 이것의 집합을 관계로 표현한다는 것
각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계를 페어링이라함

2. 관계의 종류
관계의 분류
존재 관계(연관 관계): 엔터티 간의 상태
행위 관계(의존 관계): 엔터티 간에 발생하는 행위
관계를 표현할 때
ERD: 표기 구분 안함
UML: 연관관계 – 실선 표시 / 의존관계 – 점선 표시
3. 관계의 표기법
관계명
엔터티가 관계에 참여하는 형태를 지칭. 각각의 관계는 두개의 관계명을 가지고 있다. 또한 각각의 관계명은 두가지의 관점으로 표현될 수 있다.
엔터티에서 관계를 시작하는 편은 관계시작점 / 엔터티에서 관계가 부르고 받는 편을 관계끝점
관계시작점과 끝점 모두 관계이름을 가짐.
참여자의 관점에 따라 관계이름이 능동적이거나 수동적으로 명명(애매한 동사 X, 현재형으로 표현)

관계차수
두개의 엔터티 간의 관계에서 참여자수를 표현하는 것. 1:1 / 1:M / M:N 있음
가장 중요한 고려 사항: 한 개의 관계가 존재하느냐 아니면 두 개 이상의 멤버쉽이 존재하는지 파악하는 것이 중요
종류 | 내용 | 예시 |
1:1 관계 | 관계에 참여하는 각각의 엔터티는 관계를 맺는 엔터티에 대해 단지 하나의 관계만을 가짐 | ![]() |
1:N 관계 | 관계에 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티에 대해 하나나 그 이상의 수와 관계 가짐 | ![]() |
M:N 관계 | 관계에 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티에 대해 하나나 그 이상의 수와 관게를 가지고 있다. 반대의 방향도 동일하게 관계와 참여하는 각각의 엔터티는 관계를 맺는 다른 엔터티에 대해 하나 또는 그 이상의 수와 관계를 가짐 M:N 관계로 표현된 데이터 모델은 이후에 두개의 주식별자를 상속받는 관계엔터티를 이용해 3개의 엔터티로 구분하여 표현 |
![]() |
관계 선택 사양
관계선택사양은 관계를 통한 상대방과의 업무적인 제약조건을 표현하는 것. 간단하면서 아주 중요한 표기법
필수 참여 관계: 필수적으로 연결된 관계. 모든 참여자가 반드시 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계
선택 참여 관계: 서로 관련은 있지만 서로가 필수적인 관계가 아닌 선택적인 관계
4. 관계의 정의 및 읽는방법
관계 체크 사항
두 개의 엔터티 사이에 연관규칙이 존재하는가?
두 개의 엔터티 사이에 정보의 조합이 발생되는가?
업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
엽무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
관계 읽기
각각의/하나의 → 기준 엔터티 → 관계차수 → 관계 엔터티 → 선택사양 필수/선택 → 관계명
1. 기준 엔터티를 한 개 또는 각으로 읽는다.
2. 대상 엔터티의 관계참여도 즉 개수(하나, 하나 이상)을 읽는다
3. 관계 선택사양과 관계명을 읽는다.

'Study > SQLD' 카테고리의 다른 글
1-2장 데이터 모델과 성능 - 1절 성능 데이터 모델링의 개요 (0) | 2022.06.14 |
---|---|
1-1장 데이터 모델링의 이해 - 5절 식별자 (0) | 2022.06.13 |
1-1장 데이터 모델링의 이해 - 3절 속성 (0) | 2022.06.12 |
1-1장 데이터 모델링의 이해 - 2절 엔터티 (0) | 2022.06.11 |
1-1장 데이터 모델링의 이해 - 1절 데이터 모델의 이해 (0) | 2022.06.09 |