ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델링6 - 엔티티의 본질
    Data Base/관계형 데이터 모델링 2023. 9. 18. 11:10

    범주화에 대한 흥미로운 실험

    그림5-1 어느 둘을 묶을 것인가?

    이 셋 중 관련이 더 높은 둘을 묶은 다면 어떤 것들을 묶을 것인가? 이 질문에서 동양인과 서양인의 반응이 극명하게 갈리는데 동양인은 바나나와 원숭이를 서양인은 판다와 원숭이를 묶는다. 이유는 간단하다. 동양인의 인식체계는 현상과 관계를 중시한다. 따라서 '원숭이는 바나나를 좋아한다.'라는 행위적 관점에서 바라보므로 이 둘이 더 밀접하다는 결론데 도달한다 반면 서양인의 인식 체계는 범주에 의한 분류, 사물의 본질을 중시한다.  여기서 본질(essence)은 사전적 의미 그대로 '대상의 가장 핵심적이고 필수적인 속성'을 뜻하낟. 그 결과 같은 포유 동물인 원숭이와 판다가 식물인 바나나보다 가깝다고 느낀다.

     

    흥미로운 점은 동서양 문화와 철학, 언어, 교육적이 배겨에 기인한 이러한 인식 차이가 데이터 모델링을 하는데도 큰 영향을 준다.

     

    💡 tip) 고대 그리스 철학자들이 세상을 이해하는 방식
    1. 사물의 속성 자체에 주의를 기울이고,
    2. 그 속성에 근거하여 범주화하고,
    3.그 범주들을 사용해서 규칙을 만들고,
    4. 사물의 특성과 움직임을 그 규칙으로 설명한다.

    세계를 서로 독립된 개체(entity)와 그 관계(relationship)로 분석하려는 이 시각은 데이터 모델링의 영역과도 맞닿아 있다.

     

    대학 학사관리 와 은행 정보시스템의 이해관계자를 통한 역할의 이해

    대학의 학사관리를 위해  <교수>, <학생>, <직원>이라는 세가지의 사람 범주에 속하는 엔티티를 만들었다고 가정해보자. 하지만 이 엔티티를 기반으로 모델을 상세화하다가는 이내 몇가지 문제에 봉착하고 하게된다.

     

    경우1

    <학생>에는 학부생뿐 아니라 대학원생도 포함되는데, 대학원생 중 조교는 교수처럼 강의도 하는 경우도 발생한다. 이런 경우에 해당하는 사람의 경우에는 <학생>과 <교수> 중 어느 엔티티에서 관리해야하는지 모호해진다. 일단 학점 정보는 <학생>쪽 담당 강의와 같은 정보는 <교수>쪽 엔티티 하위에서 관리한다고 가정한다면 이때 <학생>과 <교수>에 포함된 속성 중 주민번호와 휴대폰번호 같은 것이 중복되면 이러한 속성은 어떻게 관리해야 할까 ?

     

    경우2

    얼마전 까지 박사과정 학생이었던 A가 어느날 조교수가 될 수도 있다. 자주는 아니지만 충분히 있을 수 있는 일이다. 이런 경우 <학생> 쪽에 있던 데이터는 모두 날리고 <교수>쪽으로 이동하는 것이 맞는 걸까?

     

    경우3 (은행에서의 비슷한 예시)

    X은행에서 근무하는 은행원B는 자신의 급여 계좌도 X은행에 개설했다. 동시에 부업으로 은행에 사무용품을 납품하는 개인사업자 이기도 하다. 즉 물리적 개체인 사람 B가 X은행의 직원, 고객, 공급자라는 3가지 배타적인 행위(비지니스)를 수행하는 셈이다.

    X은행의 정보시스템에서 직원, 고객, 공급자의 정보를 별도의 엔티티로 관리 한다면 <직원> 엔티티의 B와 <공급자> 엔티티 B는 완전히 다른 개체로 취급된다. 이는 바로 고객관리(CRM : customer relationship management)의 고객 통합 영역에서 항상 언급되는 동일인 인식 문제에 해당한다.

     

    앞서 원숭이와 바나나 이야기를 하면서 본질과 현상을 구분해서 볼 수 있어야 한다고 이야기 했다. 그렇다면 대학과 은행 사례에서 본질은 무엇일까? 그리고 현상은 무엇일까? 물리적으로 유일한 B라는 개체의 정보, 즉 성명과 같은 사람으로서의 근본적인 정보가 바로 본질에 해당한다. 이는 그 사람이 비즈니스적으로 어떤 행위에 관여하는지와 무관한 자연인으로서의 정보다.반면 B가 수행하는 직원, 고객, 공급자라는 3가지 배역은 현상으로 보아야 한다. 일반적으로 이와 같은 논리적 맥락 혹은 배역을 모델링 영역에서는 역할(role)이라고 한다.

     

    💡 tip) 본질과 현상

    본질 - 사람으로서의 근본적인 정보(물리적으로 유일한 개체인 나)
    현상 - 논리적 맥락이나 역할(학생, 교수, 은행원, 고객 등)

     

    경우3에서 B라는 존재는 인터넷 뱅킹으로 이체할 때는 고객이 되고, 프린터를 조달할 때는 공급자가 되면, 연말에 인사 고과를 받을 때는 직원이 된다. 하지만 아무런 비지니스 역할을 하지 않아도 B는 엄연한 개체임이 틀림없다. 앞서 경우1~경우3의 예시에서 발생한 문제는 결국 본직적 개체가 아닌 역할별 개체만을 관리할 경우에 발생할 수 있는 문제점에 정확이 닿아 있다.

     

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

    댓글

Designed by Tistory.