ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델링7 - 범주화와 추상화
    Data Base/관계형 데이터 모델링 2023. 9. 18. 12:08

    범주화와 추상화

    데이터 모델링에 범주화(classification)와 추상화(abstraction)개념을 더하면 데이터 모델링이 무엇인지 훨씬 또렷해진다. 복잡한 현실 업무의 속성규칙을 모델로 정형화하려면 먼저 비지니스 문제 영역의 데이터를 관찰해서 그 안에 숨어 있는 유형과 관계를 찾아내야 한다.

    ERD와 같은 형태로 형상화하기 위해서는 문제 영역을 자연스럽게 일정한 크기의 덩어리로 나누게 되는데, 이 과정에서 범주화와 추상화 라는 개념이 필요하다. 1)범주화앞서 언급했듯 유사한 것들을 일정하게 묶는 프로세스며, 2)추상화문제 영역에서 가장 핵심적인 특성만을 추리는 과정이다.

     

    💡tip) 추상화 관점

    소프트웨어 공학 전반에서 중요한 개념으로 사용되는 추상화는 그 정의도 다양하다 다음 정리는 서울대 교육학용어 사전이 모델링 관점에서 추상화를 정리한 것이다.

    추상화는 구체적인 사물들의 공통된 특징, 즉 추상적 특징을 파악하여 인식의 대상으로 삼는 행위다. 추상화가 가능한 개체들은 그것들이 소유하고 있는 특성의 이름으로 하나의 집합(class)을 이룬다. 그러므로 추상화한다는 것은 여러 개체를 집합으로 파악하는 것과 동일하다.

    사전적 정의를 조금 쉽게 풀어보면 추상화란 '어떤 관점(view)을 기준으로 관심 없고 복잡한 특성은 걷어내고 핵심만을 간추리는 행위, 그 과정에서 유사한 것들은 하나의 집합으로 파악하는 것' 으로 다시 정의해 볼수 있다.

     

    그림5-3 피카소가 그린 개

    예를 들어 병무청은 대한민국 20대 초반 남성 C씨의 몸무게에 관심을 가질 수 있으나 통신회사에서는 전혀 관심이 없다 결국 데이터 모델링이란 캐리커처처럼 생략을 통해 대상의 본질과 특징을 드러내어(추상화) 업무에 필용한 데이터를 성격이 유사한 것끼리 모아놓는 과정(범주화)이다. 여기에서 데이터의 성격이 바로 앞의 추상화 정의에 기술된 관점에 해당한다. 유사한 것끼리 묶어놓으려면 당연히 데이터의 성격을 이해해야 하며, 데이터가 생성되는 규칙을 읽을 줄 알아야한다. 이는 마치 우리가 필요할 때 쉽게 찾아 쓸 수 있도록 용도가 유사한 물건들을 한데 모아두는 것과 같다.

     

    사물의 본질적 속성에 집중해서 범주화하면서 독립적인 개체를 식별하고 정의하는 작업이 생각처럼 쉽지는 않다. 객체지향 개념을 머리로는 이해하지만 그 개념을 실제 자신의 것으로 체화해서 내재화하기는 쉽지 않은 것 처럼 말이다. '책장에 책을 꽂는다'라는 일사의 언어가 객체지향 개념으로는 '책장 개체에 책을 꽂으라'는 명령으로 전달한다는 뜻이다. 이런 사고 방식을 빠르게 수용하기는 사실 어렵다. 이러한 개체 중심의 사고와 더불어, 어디까지를 범주화하여 한 덩어리의 개체로 정의하느냐의 애매함 역시 개체-관계 모델을 그리는 데 있어 치명적인 약점으로 작용한다. 

     

    덧붙여 추상화 관련해서 한가지 주의할 점이 있다. 극단적인 추상화의 결과물은  장점과 단점을 동시에 지닌다. 예를 들어 세상을 극단적으로 추상화하면 시간과 공간으로 표현할 수 있고, 한 단계 수준을 낮춘다고 해도 시간은 사계절로, 공간은 오대양 육대주로 굉장히 거칠게 구분할 수 있다. 추상화는 현실의 복잡함을 단순화하여 일목요연하게 파악하게 해주는 도구가 될 수도 있는 반면, 단순화하는 과정에서 구체성과 다양성이 소거되어 실재를 정확히 반영하지 못할 수도 있다. 따라서 추상화 수준을 항상 고심하여, 적절한 절충점을 결정하는 것이 역시 데이터 모델링의 필수 적인 요소이다.

     

    정리

    • 엔티티란 업무 수행에 필요한 데이터를 성격이 유사한 것끼리 모아 놓은 집합이다.
    • 모델링이란 정보를 담는 최소 단위인 속성의 종속성을 분석하여 유사한 것끼리 모으로 독립적인 것은 분리하는 과정이다.
    • 이러한 과정을 통해 속서의 제 위치(엔티티)를 찾아 낼 수 있다.
    • 즉, 관계형 데이터 모델은 나의 정보는 내가 집약해서 가지고, 남의 정보는 필요할 때 관계를 통해 찾아서 원하는 뷰를 만들어내는 구조다.
    • 데이터 모델링이란 결국 어떤 개체가 속하는 범주를 규명하여 개체 집합을 분리하고 묶는 수중을 고민하는 과정이다.

     

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

    댓글

Designed by Tistory.