728x90
반응형
1. 관계(Relationship)란?
- 관리하고자 하는 업무 영역 내의 특정한 두 개의 엔터티 사이에 존재하는 많은 관계 중 특별히 관리하고자 하는 직접적인 관계(업무적 연관성)를 의미
2. 관계 이해
가) 관계도집합이다.
- 관계는 두 엔터티 사이에 그 목적과 내용이 다른 여러 개의 관계가 동시에 존재할 수 있다.
나) 직접 관계를 관계라고 한다.
- 많은 관계 중에서 직접 종속인 것만을 관계로 보고 모델링한다.
다) 두 엔터티 간에는 하나 이상의 관계가 존재할 수 있다.
- 두 개의 엔터티 사이에는 서로 다른 업무 규칙을 가진 별개의 관계가 존재 할 수 있다.
라) 외래키로 정의
- 관계는 외래키(FK, Foreign Key)로 구현되어 참조 무결성(RI, Referential Integrity)으로 데이터 정합성 유지의 역할을 하게 된다.
마) 관계의 관점
- 항상 두 엔터티 간에 존재한다.
- 항상 두개의 관점을 가지고 있다.
- 데이터의 양방향 업무 규칙(Business Rule)을 표현
- 관계를 통하여 정보로서의 활용가치 상승
- 외래키로 구현되어 참조무결성으로 데이터의 정합성 유지
- 참조무결성
3. 관계 표현
가) 관계 형태(Degree/Cardinality)
- 하나 이상(Many)
- 까마귀 발가락처럼 표시된 모양은 하나 이상(Many)을 나타낸다.
- 하나 이 상이란 반드시 하나 이상이 되어야 한다는 것이 아니라 하나 이상인 것이 적어도 한 가지는 존재하고 있다는 것을 의미 - 단 하나(Only One)
- 수평선이란 직선이 될 수도 있고 점선으로 표현될 수도 있으며 이것은 다음에 설명할 선택 사양에 따라 결정
나) 선택 사양(Optionality)
- 직선은 반드시 존재해야 함을 의미하고, 점선은 존재하지 않을 수도 있음을 의미
다) 관계명
- 두 개의 관계 멤버십에 각각 부여
- 현업에서 사용하는 간결한 동사형으로 표현
- 업무적 의미가 없거나 애매모호한 용어는 배제
4. 관계 정의 방법
- 먼저 한쪽 엔터티를 기준으로 상대 엔터티와의 관계를 규명하고 다시 반대 방향으로 관계를 규명 한다.
가) 관계 구문 이해
- 엔터티 1
- 관계를 규명할 두 엔터티 중에서 어느 한쪽이 주어가 되어 상대방과의 관계를 규명하고자 할 때 주어가 되는 엔터티 - 임의의
- 집합 내의 개체 중에서 아무것이나 하나(임의의 개체)를 선택하여 만족하는지 증명하는 것 - 하나는
- 주어 집합에 있는 ‘임의의’ 나 ‘하나’의 개체를 말한다. - 관계 형태
- 하나가 몇 개의 상대방을 가질 수 있는지를 집중적으로 밝히는 것 - 엔터티 2
- 주어가 되는 엔터티가 바라본 상대방 엔터티이다. - 관계명
- 관계 규명을 통해서 정의된 관계 명칭이다. - 선택 사양
- 필수(실선), 선택(점선)의 모습을 결정하는 과정
5. 관계 형태
- 관계의 형태는 크게 1:1, M:1, M:M의 세 가지로 나눌 수 있다.
가) 1:1 관계(Relationship)
- 어느 쪽 당사자의 입장에서 상대를 보더라도 반드시 단 하나씩과 관계를 가지는 것을 말한다.
- 특징
- 업무의 흐름에 따라 데이터가 설계된 형태에서 많이 나타남.
- 엔터티 수직 분할 시에 많이 나타남.
나) M:1 관계(Relationship)
- 부모와 자식과의 관계처럼 계층적인 구조로 이해해도 좋다.
- 특징
- M:1 관계는 한쪽은 M(many)이고 다른 한쪽은 1(one)인 것을 말한다. - One to many relationship (One Optional)
- One to many relationship (Many Optional)
- 예시는 여러 번의 납품 건에 대해서 한 번에 모아 대금 청구를 하는 경우
다) M:M 관계(Relationship)
- 특징
- M:M 관계는 관계를 가진 양쪽 당사자 모두에서 1:M 관계가 존재할 때 나타나는 모습이다.
- M:M관계의 선택 사양은 양쪽 모두가 선택적(바커표기법에서는 점선으로, IE표기법에서는 실선의 M:M형태)인 것이 기본형이다.
라) 다중 관계 처리
- 어떤 두 엔터티의 사이에 하나 이상의 관계를 가지고 있는 상태를 말한다.
- 병렬식 관계
- 두 엔터티 사이에 존재하는 관계들을 별도의 관계로 간주함으로써 여러 개 의 관계 선분이 나란히 병렬로 관계가 맺어지게 되는 경우
- 테이블이 될 때 여러 개의 칼럼으로 나열된다.
- 하나의 로우(row)에서 관리되므로 새로운 테이블을 추가할 필요가 없다.
- 인덱스 수가 증가되고 SQL이 복잡해진다.
- 새로운 관계의 추가, 관계 형태의 변경 등에 매우 취약한 형태이다.
- 관계 내용별로 상세 정보를 관리할 수 없다.
- 직렬식 관계
- 두 엔터티 사이에 존재하는 몇 개의 관계를 모아 상위 개념으로 통합함으로써 하나의 관계로 관리하는 방법
- 관계들을 관리하는 새로운 엔터티가 추가되어야 한다.
- 관계들이 로우(Rows) 형태로 나타난다.
- 인덱스 수가 감소하고 SQL이 단순해진다.
- 새로운 관계의 추가, 관계 형태의 변경 등에 매우 유연한 형태이다.
- 관계 내용별로 상세 정보를 관리할 수 있다(자식 엔터티를 거느릴 수 있다).
마) 특수한 형태 관계
- 순환 관계 ( Recursive Relationship )
- 하나의 엔터티가 다른 엔터티가 아닌 자기 자신과 관계를 맺는 관계
- 하나의 순환 엔터티는 각 엔터티의 모든 속성을 포함해야 한다.
- 각 계층에 있는 속성은 동일하게 하는 것이 가장 좋다.
- 순환 모델은 필수(직선) 관계로 취급될 수 없고(무한 LOOP 발생), 반드시 선택사양 관계이다.
- 순환 모델의 특징은 조직의 변경(추가/삭제)에 쉽게 대응할 수 있다는 것이다.
- BOM(Bill of Materials) 관계
- M:M 순환 관계라 하며, 상세 모델링 과정에서 새로운 관계 엔터티(Relation Entity, Intersection Entity)를 추가하여 두 개의 일대다(1:M) 관계로 구성된 모델로 구체화
- Arc (Mutually Exclusive) 관계
- 어떤 엔터티가 두 개 이상의 다른 엔터티의 합집합과 관계를 가지는 것을 배타적(Exclusive) 관계
728x90
반응형
'자격증 > 데이터아키텍처 준전문가(DAsP)' 카테고리의 다른 글
DAsP(4과목) 3-2. 속성 정의 (45) | 2023.09.10 |
---|---|
DAsP(4과목) 2-6. 개념 데이터 모델 작성 (49) | 2023.09.08 |
DAsP(4과목) 2-4. 핵심 엔터티 정의 (50) | 2023.09.07 |
DAsP(4과목) 2-3. 후보 엔터티 선정 (47) | 2023.09.07 |
DAsP(4과목) 2-2. 주제 영역 정의 (43) | 2023.09.06 |