본문 바로가기
DB/SQLP

[J STORY] SQLP - 데이터 모델링의 이해

by JEONJIHO 2021. 3. 29.
반응형

1. 모델링의 이해

  가. 모델링의 정의

    - 모델링에 대한 다양한 정의

    - Webster 사전(가설적 일정 양식에 맞춘 표현, 어떤 것에 대한 예비표현으로 최종대상이 구축되도록 하는 계획으로                          서 기여하는 것)

 

  나. 모델링의 특징

    - 추상화 : 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미로 정리할 수 있다. 즉, 다양한 현상을 일정한 양식                     인 표기법에 의해 표기한다는 것이다.

    - 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는                     개념을 의미한다.

    - 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것

 

    * 모델링의 재정의 : 현실세계를 추상화,단순화,명확화하기 위해 일정한 표기법에 의해 표현하는 기법

    * 정보시스템 구축에서의 모델링 활용

      - 계획/분석/설계 단계 : 업무를 분석하고 설계하는데 이용

      - 구축/운영 단계 : 변경과 관리의 목적으로 이용

 

  다. 모델링의 세 가지 관점

    - 데이터관점 : 업무가 어떤 데이터와 관련이 있는지?, 데이터간의 관계는 무엇인지? (키워드 : Data What)

    - 프로세스관점 : 업무가 실제하고 있는 일이 무었인지?, 무엇을 모델링해야 하는지? (키워드 : Process How)

    - 데이터와 프로세스의 상관관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지?                                                            ( 키워드 : Interaction)

 

 

2. 데이터 모델의 기본개념의 이해

  가. 데이터 모델의 정의

     1. 모델링에 대한 다양한 정의

        - 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보는 무엇인지            를 분석하는 방법

        - 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 본재하는 업무 규칙(Business Rule)에 대하여 참(True) 또            는 거짓(False)을 판별할 수 있는 사실(사실명제)을 데이터에 접근하는 방법(How), 사람(Who), 전산화는 별개(독            립적인)의 관점에서 이를 명확하게 표현하는 추상화 기법

     

     2. 실무적 관점(정보시스템 구축)에서의 데이터 모델링을 하는 주요 이유

        - 정보시스템 구축 대상이 되는 업무 내용을 정확하게 분석하는 것 

        - 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것

        - 단지 데이터베이스 구축만이 목적이 아니라 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 중요            한 의미를 가지고 있음

   

     3. 데이터 모델링이란

        - 정보시스템을 구축하기 위한 데이터 관점의 업무분석 기법 

        - 현실세계의 데이터(Whet)에 대해 약속된 표기법에 의해 표현하는 과정

        - 데이터베이스를 구축하기 위한 분석/설계의 과정

 

  나. 데이터 모델이 제공하는 기능

     1. 업무를 분석하는 관점에서 데이터 모델이 제공하는 기능

        - 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.

        - 시스템의 구조와 행동을 명세화 할 수 있게 한다.

        - 시스템을 구축하는 구조화된 틀을 제공한다. 

        - 시스템을 구축하는 과정에서 결정한 것을 문서화한다.

        - 다양한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점을 제공한다.

        - 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.

 

3. 데이터 모델링의 중요성 및 유의점

  가. 파급효과(Leverage)

    - 시스템 구축이 완성되가는 시점에서의 데이터 모델 변경은 엄청난 파급효과를 발생시킨다.

    - 데이터 구조변경에 따른 표준영향분석, 응용영향분석등 많은 영향 분석이 일어난다.

    - 변경해야할 데이터 형태에 따른 영향도는 차이가 있겠지만, 구조 변경으로 인한 일련의 변경작업은 전체 시스템 구         축 프로젝트에서 큰 위험요소이다. 따라서, 데이터 설계는 그만큼 중요하다.

 

  나. 복잡한 정보 요구사항의 간결한 표현(Conciseness)

    - 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 잇는 도구이다.

 

  다. 데이터 품질(Data Quality)

    - 데이터는 중요한 자산이며, 기간이 오래될수록 활용가치는 더 커진다.

    - 그러나, 데이터의 정확성이 떨어진다면? 데이터의 활용가치는 떨어지게 된다.

    - 따라서 데이터 모델링을 할때는 다음을 유의하여 데이터 품질을 높여야 한다.

          중복(Duplication) : 동일 자료의 중복 

          비유연성(Inflexibility) : 잘못된 데이터 모델은 사소한 업무변화에 대응하지 못하고 유지보수에 어려움이 따른다.

          비일관성(Inconsistency) : 데이터의 모순, 데이터간 상호 연관관계에 대한 정확한 정의로 이러한 위험을 예방

 

4. 데이터 모델링의 3단계 진행

  가. 개념적 데이터 모델링(Conceptual Data Modeling)

    - 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립시 많이 사용

 

  나. 논리적 데이터 모델링(Logical Data Modeling)

    - 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음

 

  다. 물리적 데이터 모델링(Physical Data Modeling)

    - 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

 

 

5. 프로젝트 생명주기(Life Cycle)에서 데이터 모델링

  - 일반적으로는 계획 또는 분석단계에서 개념적 데이터 모델링, 분석단계에서 논리적 데이터 모델링,

설계 단계에서 물리적 데이터 모델링이 수행된다. 단, 현실 프로젝트에서는 개념적 데이터 모델링이 생략된

개념/논리 데이터 모델링이 분석단계 때 대부분 수행된다.

* 분석-설계-개발-테스트-전환/이행