본문 바로가기
자격증/데이터아키텍처 준전문가(DAsP)

DAsP(4과목) 2-5. 관계 정의

by 김엉배 2023. 9. 8.
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
반응형