ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델링15 - 엔티티 모델링의 어려움
    Data Base/관계형 데이터 모델링 2023. 9. 21. 15:50

    엔티티 모델링이 어려운 이유

    엔티티 모델링이 어려운 이유를 한마디로 표현하면 엔티티의 적당한 크기(추상화 수준)를 결정하는 기준을 찾기 어렵기 때문이다. 사실 엔티티의 추상화 수준을 무시한다면 세상의 모든 비즈니스는 극단적 단 2 개의 엔티티와 관계로 설명하고 관리할 수 있다.

    그림 8-10 극단적으로 추상화한 모델

    엔티티 모델링이 어려운 이유를 세분화하면 크게 다음 다섯 가지 정도로 정리할 수 있다. 또한 이 다섯 가지의 이유는 서로 맞물려 있는 교집합이 있는 유기적인 내용이다.

     

    첫째, 데이터 집합을 정의하기 쉽지 않다. 모델링은 결국 업무 데이터의 분류와 묶음이라는 행위 인데, 그 기준을 세우기 어렵다. 예를 들어 '여신 연체관리 진행'이라는 은행 업무가 있다고 가정한다면, 엔티티로 <여신연체관리진행>를 만들어야 하는지, 아니면 <여신연체관리>엔티티의 <진행>속성으로 관리해야 하는지에 대한 고민이 있을 수 있다. 또 둘중 하나를 선택해서 엔티티를 생성한다면 그 기준이 무엇인지 정확하고 객관적인 근거를 대야 할것이다.

     

    둘째, 데이터의 본질을 볼 줄 알아야 엔티티를 정확하게 정의할 수 있다. 어떤 대상에서 비지니스 관점을 제거하는게 쉬운 일이 아닐 뿐더러 모델링을 위해 익숙하지 않은 분야의 업무를 처음 마주하게 되다면, 그 업무에 핵심이 되는 본연의 속성을 파악하기도 결코 쉬운일이 아니기 때문이다.

     

    셋째, 엔티티의 추상화 수준을 결정하는 것은 대단히 어렵다. 여기서 추상화 수준이란 다양한 의미를 포함한다. 예를 들어 하나의 데이터 그룹에 다양한 관점의 부분집합(서브타입)이 존재할 수 있다. 예를 들어 사람이라는 집합에는 성별이라는 관점, 인종이라는 관점 등등의 다양한 관점이 존재 하기 때문에 어떤 전략을 선택할지 정하는 것은 쉽지 않다. 게다가 필요에 따라 이웃한 유사 집합과 통합하고 분리하는 과정을 거치면서 엔티티의 적절한 크기를 결정할 수 있는 안목이 필요하다.

     

    넷째, 하위의 트랜잭션 데이터만 보고 부모 역할을 하는 상위의 논리집합을 발견하는 것은 어렵다. 다음은 김춘수 시인의 <꽃>의 한구절이다.

     

    내가 그의 이름을 불러 주기 전에는 그는 하나의 몸짓에 지나지 않았다. 내가 그의 이름을 불러주었을 때, 그는 나에게로 와서 꽃이 되었다.

     

    이름을 불러주었을 때 비로소 꽃이 되었다고 한 것 처럼 엔티티 모델링의 추상화지점을 찾아 논리적 개념화해 집합을 만드는 것은 하는 것은 찾는 것은 통찰력을 사용한 발견의 영역이다. 

     

    다섯째, 업무의 방대함과 복잡도에 압도되기 쉽다.  현실세계에서 보통 업무는 점점 고도화되고 복잡해진다. 새로운 정보시스템을 구축하는 프로젝트의 경우 만들어지는 테이블의 수가 만개 이상인 경우도 허다 하다. 이때 모델러가 각 데이터의 정체성, 성격, 특징을 파악하고 있고 데이터가 생성되는 규칙까지 읽을 수 있어야 제대로된 모델이 나올 수 있다. 그리고 이를 위해서는 충분한 시간이 확보되어야 한다. 하지만 실전에서는 턱없이 부족한 분석/설계 기간, 작업 분류 체게 Work Breakdown Structure(WBS)자체의 넌센스등 그래서 주어진 리소스만으로 업무의 복잡도에 압도되지 않으려면 효율을 극대화해주는 방법론이 꼭 필요하다.

     

    [출처 - 프로젝트의 성패를 결정짓는 데이터 모델링 이야기 , 김상래 저]

    댓글

Designed by Tistory.