01. 관계란? |
두 엔터티 사이에서
관심있게 봐야하는 직접적인 연관성 또는 규칙.
관계의 특성
- 하나의 관계는 두 엔터티의 레코드의 연관성이 모인 집합.
- 하나의 관계는 두 개의 관점에서 해석가능.
- 두 엔터티 간, 직접 종속성을 만족하는 것만 관계.
- 두 엔터티 간, 여러개의 관계가 있을 수 있음.
- 관계는 외래키(FK)로 구현됨.
관계의 구성
- 관계 이름 : 각각 상대관점에서 명확한 동사이름을 부여.
- 관계 차수 : 1:1, 1:M, M:M
- 선택 사양 : 필수적 /. 선택적
관계 구문
- 각각의 [대상 엔터티]는
- [하나/하나 이상의] [상대 엔터티]와
- [관계명]이 [되어야 한다/될 수 있다]
추상화 된 형태
관계도 작성 예시
- 각 사원은 하나의 부서에 반드시 소속해야 한다.
- 각 부서는 하나 이상의 사원을 포함할 수 있다.
02. 다양한 관계 형태의 특성, 빈도 |
관계 형태에 따라 각각 특성과
현실세계에서 나타나는 빈도가 다르다.
1:1 형태
- Both Side Mandatory : 두 엔터티는 동일 관계(A=B), 수직분할에서 나타남.
- Both Side Optional : 두 엔터티가 약간 겹친 관계(A⊄B, B⊄A, A∩B≠Ø), 자주 발생되지 않는 형태.
- One Optional : 두 엔터티는 포함 관계(A⊂B), 부모자식에서 나타남. (=Many Mandatory)
1:M 형태
- Both Side Mandatory : 가끔 발생하는 형태.
- Both Side Optional : 선택성이 증가할수록 모호성도 증가 → 선택성 해소 필요
- Many Optional : 현실적으로 드문 형태.
- One Optional : 가장 흔한 형태.
M:M 형태
- M;M은 관계성이 덜 분해된 경우이다.
- 관계성 엔터티를 이용한 관계성 분해 필요. (One Optional 2개로 만든다.)
병렬 관계 형태
- 두 엔터티가 여러개의 관계를 가지고 있는 경우.
- 물리 모델링 시, 각 관계가 하나의 칼럼으로 나타남. → SQL 복잡, 인덱스 증가
- 자식 엔터티를 가질 수 없음.
- 변화에 유연하지 못함.
직렬 관계 형태
- 여러 관계를 대표하는 상위 개념의 관계 하나로만 표현.
- M:1 관계가 합해졌으니 M:M 관계 → 관계성 분해 필요.
- 물리 모델링 시, 각 관계가 하나의 로우로 나타남. → SQL 심플, 인덱스 감소
- 자식 엔터티를 가질 수 있음.
- 변화에 유연함.
순환 관계 형태 (순환모델)
- 각 계층 속성은 동일하게 하는 편이 좋다.
- 순환 모델은 반드시 선택 사양 관계이다. (무한 Loop 발생)
- 조직 변경시 유연하게 대처할 수 있음.
BOM(Bill of Materials) 관계
- 네트워크 구조 형태.
- 부품의 소요량 파악 등의 모델에 유용
Arc(Mutally Exculsive) 관계
- 여러개의 관계 중, 오직 하나만 관계를 맺을 수 있는 경우.
- 관계 후보들에 대하여 상호 배타적이라고 한다.
- 아크 내 관계는 보통 동일하다.
- 아크 내 관계는 항상 필수이거나 항상 선택이어야 한다.
- 특정 아크는 여러 엔터티를 가질 수 없다.
- 어떤 엔터티는 많은 아크를 가질 수 있다.
'# 미사용' 카테고리의 다른 글
[4-3-1]: 논리 데이터 모델링 이해 (0) | 2018.03.23 |
---|---|
[4-2-6]: 개념 데이터 모델 작성 (0) | 2018.03.23 |
[4-2-4]: 핵심 엔터티 정의 (0) | 2018.03.21 |
[4-2-3]: 후보 엔터티 선정 (0) | 2018.03.21 |
[4-2-2]: 주제영역 정의 (0) | 2018.03.21 |