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

DAsP(4과목) 2-4. 핵심 엔터티 정의

by 김엉배 2023. 9. 7.
728x90
반응형

1.   개념


가) 엔터티란?

  • 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상에 대한 데이터를 저장할 수 있고 대상들 간의 동질성을 지닌 개체 또는 행위의 집합
  • 엔터티를 정의할 때는 어떤 대상이 그 엔터티에 속하는지 혹은 속하지 않는지를 명확하게 정의할 수 있어야 한다.

나) 엔터티 정의의 요건

  • 대상 개체들 간의 동질성이 있는지를 확인한다.
  • 다른 개체와 확연히 구분되는 독립성을 가지는지를 확인한다.
  • 순수한 개체이거나 개체가 행위를 한 행위 집합인지를 확인한다.

 

 

 

2.   의미상 주어 정의

- 엔터티에는 인조 식별자(Artificial Unique Identifier)가 있을 수 있고, 이를 가주어(假主語)라 한 다면 진주어(眞主語)에 해당하는 관계나 속성이 어딘가에 있을 수 있다.


가) 본질 식별자 정의의 의의

  • 모델링 진행 과정에서 본질 식별자를 특별히 중시하는 이유는 집합의 의미가 모호한 상태에서는 더 이상 객관적인 판단을 진행해 가는 것이 불가능하기 때문이다.

나) 본질 식별자 정의 예

  • 신용카드 엔터티의 본질 식별자인 고객 번호와 상품 코드는 부모에게서 상속받은 관계 속성이며, 이 부모들은 바로 키 엔터티이다. 다시 말해 본질 식별자로 상속 관계를 규명해 올라갔을 때 최상 위에 존재하는 것이 바로 키 엔터티라는 것이다.

 

 

 

 

3.  코드성 키 엔터티 모델링


가) 자식 엔터티 유무 확인

  • 해당 엔터티가 다른 엔터티의 본질 식별자가 되고 있는지를 찾아내는 것이다.

 

나) 속성 존재 여부 확인

  • 해당 엔터티가 현재 혹은 미래에 단순한 코드명이나 코드의 의미에 대한 설명 외에 또 다른 속성을 가질 수 있는가를 확인해 보는 것

다) 관계 존재 여부 확인

  • 엔터티가 향후 다른 엔터티와 많은 관계를 가질 가능성이 있는지를 검토해 보는 것

 

 

 

 

4.   집합 순수성


가) 집합 순수성 의미

  • 엔터티는 반드시 순수한 본질(本質) 집합이 되어야 한다는 것은 정의하고자 하는 집합이 사람, 상품 등과 같이 단위 사물을 정의한 개체(個體) 집합이 되든지, 아니면 이들이 어떤 활동을 함으로 써 만들어진 입금, 계약 등과 같은 행위(行爲) 집합이 되든지 간에 반드시 둘 중의 어느 하나가 되어야 한다는 것이다. 그렇지 못하고 이들이 서로 결합된 형태라면 그것은 관계이다.

나) 집합 순수성 적용 예외 사항

  • 관계의 엔터티화
    -  관계가 엔터티로 변하는 경우이다. 관계가 M:M이 되면 더 이상 관계로만 존재할 수 없기 때문에 엔터티로 바뀌게 되며, 이를 릴레이션 엔터티라고 한다.

  • 일부 집합 정의
    - 전체 논리적인 집합 중에서 관리하고자 하는 일부의 집합만을 엔터티로 정의하고자 할 때, 구체적 인 명칭을 부여하다 보면 이를 수식하고 있는 단어로 인해 마치 개체 집합과 행위 집합의 합성처럼 보일 수가 있다.

  • 배타적 관계 대체
    - 엔터티가 여러 엔터티와 동일한 내용의 관계를 갖는 배타적 관계를 가질 때 만약 배타적 관계의 변화 가능성이 높다면 이를 피하기 위해 배타적 관계에 있는 것들만 모아서 별도의 엔터티를 구 성하는 경우

 

 

 

5.  집합 동질성


  • 엔터티에서 동질성(同質性)을 정의한다는 것은 말 그대로 집합에 들어갈 개체들의 동일한 성질을 어디까지로 한정할 것인가를 결정하는 것을 말한다.

 

 

 

 

6.   엔터티 명칭

- 도출한 집합의 의미에 가장 어울리는 명칭을 부여해야만 앞으로의 커뮤니케이션에서 오류를 줄일 수 있다.

- 제3자에게 설명할 때도 의미의 전달이 명확해질 수 있다.


  • 적절한 엔터티 명칭

  • 엔터티 명칭 부여 예제

 

 

 

 

 

7.   서브타입

- 엔터티를 명확화 하는 단계에서 해야 할 중요한 작업은 엔터티 내에 들어가는 구체적인 부분 집합(서브타입)의 종류를 명시하는 것

- 개체-관계 도표(ERD, Entity Relationship Diagram)를 입체적이고 구체적으로 작성하기 위해서는 집합의 부분 집합을 표현


가) 서브타입 지정시 고려사항

  • 교집합 허용 불가
  • 서브타입의 합이 전체집합
  • 서브타입 표현의 기준
    - 개별 속성을 가지는 경우
    - 개별 관계를 가지는 경우
    - 가독성을 증진시키고자 하는 경우

나) 서브타입 도출

  • 분류 속성
    - 분류 속성에 따라 엔티티의 정보가 차별화되는 경우에 서브타입을 도출할 수 있다.

  • 다수의 선택적 속성
    - 다수의 선택적 속성이 존재하는 경우에 서브타입을 도출할 수 있다.

  • 선택적 관계가 존재하는 경우
    - 서브타입으로 분할함으로써 관계가 필수적으로 변하는지를 확인한다.

  • 도출 절차
    - 분류 속성을 확인(엔티티의 발생이 차별화되는 경우)한다.
    - 분류 속성값에 의해 분류되는 서브타입을 파악한다.
    - 분류 속성에 따라 필수적/선택적 분할을 정의한다.
    - 서브타입별 속성을 할당한다.
    - 슈퍼타입의 관계를 해당 서브타입에 정의한다.

 

라) 서브타입의 활용

  • 데이터 모델에 업무 규칙을 명확히 표현하여 업무를 정확히 이해할 수 있다.
  • 서브타입의 표현은 업무 규칙의 명확성과 표현의 복잡성이라는 트레이드오프(Trade Off) 관계 가 적절히 조화를 이루어야 한다.

 

 

 

8.  엔터티 통합과 분할

- 엔터티를 크게 하나로 할 것인지 아니면 여러 개의 개별 엔터티로 할 것인지의 결정은 향후에 일어날 데이터 모델링의 많은 과정에 커다란 영향을 미치게 된다.


가) 엔터티 독립성

  • 엔터티를 결정하기 위해서 우리가 따져 보아야 할 독립성이란 우리가 새롭게 정의하고자 하는 엔 터티가 앞서 정의해 둔 어떤 엔터티에도 포함되지 않는 독립적인 집합인지를 확인하는 것이다.

 

나) 엔터티 분할/통합

  • 집합 간에는 상품과 고객처럼 전혀 포함 관계를 가지지 않거나, 고객과 사원처럼 일부가 포함되거나, 아니면 사원과 임원처럼 전체가 포함되는 세 가지 경우가 존재한다.

 

다) 유연성 향상을 위한 통합

  • 집합의 동질성을 확장시켜 중첩된 집합을 포함시키면 이들 간의 집합적 관계는 명확해진다.
  • 집합의 확장은 비록 유연성과 단순성을 증가시키기는 하지만 지나친 확장은 집합의 의미를 희석시키므로 주의해야 한다.

728x90
반응형