티스토리 뷰
1. 관계의 개념
가. 관계의 정의
- 인스턴스 사이의 논리적인 연관성으로서 존재 또는 행위로서 서로에게 연관성이 부여된 상태
나. 관계의 페어링
- 유의해야할 점은 관계는 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링(이고 이것의 집합을 관계로 표현한다는 것이다.
- 따라서, 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔티티 사이에 두 개 이상의 관계가 형성될 수 있다.
2. 관계의 분류
3. 관계의 표기법
l 관계명(Membership) : 관계의 이름
l 관계차수(Cardinality) : 1:1, 1:M, M:N
l 관계선택사양(Optionality) : 필수관계, 선택관계
가. 관계명 (Membership)
- 엔티티에서 관계가 시작되는 편을 관계시작점(The Beginning)이라고 부르고 받는 편을 관계끝점(The End)이라고 부른다.
- 관계 시작점과 끝점 모두 관계이름을 가져야 하며 참여자의 관점에 따라 관계이름이 능동적(Active)이거나 수동적(Passive)으로 명명된다.
나. 관계차수(Degree/Cardinality)
- 두 개의 엔티티간 관계에서 참여자의 수를 표현하는 것을 관계차수(Cardinality)라고 한다.
1) 1:1 (ONE TO ONE) 관계를 표시하는 방법
2) 1:M (ONE TO MANY) 관계를 표시하는 방법
3) M:M (MANY TO MANY) 관계를 표시하는 방법
다. 관계선택사양(Optionality)
- 참여하는 엔티티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법이 필수(Mandatory Membership)와 선택참여(Optionality Membership)이다.
관계 | 내용 |
필수참여 | 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔티티의 참여자와 연결이 되어야 하는 관계이다. |
선택참여 | 선택참여 된 항목은 물리속성에서 Foreign Key로 연결될 경우 Null을 허용할 수 있는 항목이 된다. |
- 설계단계에서 필수참여와 선택참여는 개발시점에 업무 로직과 직접적으로 관련된 부분이므로 반드시 고려되어야 한다.
- 관계선택사양은 관계를 통한 상대방과의 업무적인 제약조건을 표현하는 것으로서 간단하면서 아주 중요한 표기법이다.
4. 관계의 정의 및 읽는 방법
가. 관계 체크사항
- 두 개의 엔티티 사이에서 관계를 정의할 때 다음 사항을 체크한다.
u 두 개의 엔티티 사이에 관심있는 연관규칙이 존재하는가?
u 두 개의 엔티티 사이에 정보의 조합이 발생되는가?
u 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
u 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
나. 관계 읽기
- 먼저 관계에 참여하는 기준 엔티티를 하나 또는 각(Each)으로 읽고 대상 엔티티의 개수(하나, 하나 이상)를 읽고 관계선택사양과 관계명을 읽도록 한다.
'자격증 > SQLD' 카테고리의 다른 글
SQLD - 데이터 모델과 성능 [성능 데이터 모델링의 개요] (0) | 2017.07.28 |
---|---|
SQLD - 데이터 모델링의 이해 [식별자] (0) | 2017.07.27 |
SQLD - 데이터 모델링의 이해 [속성] (0) | 2017.07.26 |
SQLD - 데이터 모델링의 이해 [엔티티] (0) | 2017.07.26 |
SQLD - 데이터 모델링의 이해 [데이터 모델의 이해] (0) | 2017.07.24 |