이전 포스팅에서는 데이터 관점에 대해서 알아보았습니다
그 관점이라는 것은 우리가 필요로 하는 데이터 값을 결정할 때
여러 가지 정보가 기준이 되어 데이터 값에 영향을 주었다면 그 여러 가지 정보가 관점이 됩니다
이렇듯 하나의 데이터에 여러 가지의 관점이 적용되어 데이터가 돌출되는 상황을 잘 이해해야겠죠?
아래에 더 상세한 설명이 있으니 궁금하신 분들은 한번 읽어보시길 바랍니다
2022.08.04 - [Data_Modeling/Methodology] - 데이터의 관점을 제대로 이해해야 하는 이유는? 디멘션 모델링?
그럼 본론으로 데이터 모델링 시 개체의 본질과 역할의 정보가 무엇인지 제대로 알고
구분을 해야 하는 이유를 알아보도록 하겠습니다
데이터 모델링에 개체의 본질이라는 것은 무엇일까?
먼저 본질의 사전적 의미는 대상의 가장 핵심적이고 필수 적인 속성이라고 합니다
단어들이 어렵고 복잡할 수 있습니다
천천히 같이 알아보도록 합시다
우선 한 가지 사례를 살펴보고 더 이야기를 이어나가도록 합시다
아래의 이미지에서 셋 중에 관련이 더 높은 것을 묶어야 한다면 어떤 선택을 하시겠습니까?
동양인의 인식체계는 현상과 관계를 중시합니다
그래서 원숭이는 바나나를 좋아한다라는 행위적 관점에서 바라보게 되고 이 둘이 더 밀접하다고 판단합니다
서양인의 경우는 범주에 의한 분류 사물의 본질을 중시합니다
그래서 포유동물인 원숭이와 판다가 식물인 바나나보다 가까워 원숭이와 판다가 더 밀접하다고 생각합니다
이러한 이유는
개인주의적이고 독립적인 서양 사회의 특성으로
전체 맥락에서 개별 사물을 떼어내어 분석하는 것이 익숙하기 때문입니다
그래서
고대 그리스 철학자들이 세상을 이해는 방식이 데이터 모델링의 영역과 맞닿아 있습니다
사물의 속성 자체에 주의를 기울이고,
그 속성에 근거하여 범주화하고,
그 범주들을 사용해서 규칙을 만들고,
사물의 특성과 움직임을 그 규칙으로 설명한다.
하지만 동양인은 규칙과 무관한 개체 간의 표면적인 유사성에 영향을 받기 쉽습니다
겉으로 드러나는 현상과 우리가 인식하는 형식의 본질,
즉 궁극적 원인과 분리되어야 합니다
본질적인 현상은 추구하지 않고 겉으로 드러나 보이는 현상에만 집착하는 것은 옳은 방법이 아닙니다
근본적인 존재, 성질, 모습을 분석해야 합니다
이렇게
본질을 제대로 알게 되면 그 속성을 근거하여 동일한 성격을 가진 개체들을 묶을 수 있습니다
즉 범주화하는 것이 가능합니다
본질적 개체가 아닌 역할 별 개체가 가지는 문제
어느 산업은행의 정보시스템에서
직원, 고객, 공급자의 정보를 별도의 엔터티로 관리한다면
<직원> 엔터티의 B와
<공급자> 엔터티 B는 완전히 다른 개체로 취급됩니다.
이는 고객관계 관리의 고객 통합 영역에서 항상 언급되는 동일인 인식 문제에 해당됩니다.
앞서 원숭이와 바나나 이야기를 하면서 본질과 현상을 구분해서 볼 수 있어야 한다고 했습니다.
그렇다면 은행 사례에서의 본질은 무엇일까요?
그리고 현상은 무엇일까요?
본질은 물질적으로 유일한 B라는 개체의 정보,
즉 성명과 같은 사람의 근본적인 정보가 본질에 해당합니다.
비즈니스적으로 어떤 행위에 관여하는지와 무관한 자연인으로서의 정보입니다.
현상은 B가 수행하는 직원, 고객, 공급자라는 3가지 배역은 현상이라고 해야 합니다.
이렇듯 본질적인 개체가 아닌 역할별 개체만을 관리할 경우 발생할 수 있는 문제가 바로 여기서 나오는 이야기입니다.
다시 말해
본질은 사람으로서의 근본적인 정보(물리적으로 유일한 개체인 나)이며,
현상은 논리적 맥락이나 역할(교수, 학생, 고객, 은행원 등)입니다
B라는 존재는 인터넷 뱅킹으로 이체할 때는 고객이 되고,
프린터를 조달할 때는 공급자가 되며,
연말에 인사 고과를 받을 때는 직원이 됩니다.
이렇듯 엔터티를 역할만으로 정의할 경우 개체의 본질적 정보를 관리할 때 다양한 문제가 발생합니다.
그러니 본질과 현상의 차이를 다시 한번 잘 새겨보시길 바랍니다.
어머니를 어머니로만 바라보지 않고 한 여인, 존엄한 인격체로서 바라보게 되면
그 전에는 보이지 않던, 풍경이 들어오기 시작합니다.
범주화와 추상화의 중요성
복잡한 현실 업무의 속성과 규칙을 모델로 정형화하려면
비즈니스 문제 영역의 데이터를 관찰해서 그 안에 숨어 있는 유형과 관계를 찾아내야 합니다.
범주화는 유사한 것들을 일정하게 묶는 과정이며,
추상화는 문제 영역에서 가장 핵심적인 특성만 추리는 과정입니다.
추상화는 현실의 복잡함을 단순화하여 일목요연하게 파악하게 해주는 도구가 될 수도 있는 반면,
단순화하는 과정에서 구체성과 다양성이 소거되어 실재를 정확히 반영하지 못할 수도 있습니다
따라서 우리는 추상화 수준을 항상 고심하게 되며, 적절한 절충점을 결정하는 것 역시 모델러의 필수 역량입니다
즉, 지금까지의 이야기를 종합한다면,
데이터 모델링의 엔터티란 범주화를 통해 만들어진 집합이며,
모델링은 정보를 담는 최소 단위인 본질의 속성을 분석합니다
즉, 추상화에서 유사한 것은 모으고 독립적인 것은 분리하는 과정입니다
이러한 과정을 통하여 속성의 엔터티를 찾아낼 수 있습니다
즉, 관계형 데이터 모델은 나의 정보는 내가 집약해서 갖고,
남의 정보는 필요할 때 관계를 통해 찾아서 원하는 뷰를 만들 내는 구조입니다
데이터 모델링은 결국 어떤 개체의 본질에 맞게 범주화하며,
개체를 추상화 과정에서 분리하고 묶는 수준을 고민하는 과정입니다
범주화와 추상화까지 어려운 용어들로 채워진 이번 포스팅은
타자를 치면서 몇 번을 곱씹었는지 알 수가 없었습니다
그만큼 어려웠고 이해를 하기가 힘든 부분이 너무 많았습니다
다른 사람은 이런 이론적인 부분은 필요 없다고 말하지만
저는 이러한 관점을 한번 생각해보는 것이 데이터 모델링에 정말 필요한 학습이라고 생각합니다
이렇게 데이터 모델링 공부를 한걸음 끝이 났네요
하지만 아직 갈길이 너무 머네요
다음 년에는 데이터 모델링 쪽으로 일을 할 수 있게 착실히 준비해 놓아야겠습니다
같이 힘내 보아요!
우리의 대모험은 아직 끝나지 않았으니까요!?
'Data_Modeling > Methodology' 카테고리의 다른 글
데이터 모델링 정규화 이론이 너무나도 중요한 이유는? (0) | 2022.08.22 |
---|---|
데이터 모델링의 중요한 마음가짐이란 무엇일까? (0) | 2022.08.16 |
데이터 모델링의 기본적인 스키마 구조, 모델을 보는 3가지 관점이 왜 중요한걸까? (0) | 2022.08.14 |
데이터의 관점을 제대로 이해해야 하는 이유는? 디멘션 모델링? (0) | 2022.08.04 |
데이터 모델링 저장 구조가 중요한 이유는? (0) | 2022.08.03 |