ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델링
    데이터베이스 2021. 5. 1. 12:27

     

    모델링이란 

    -복잡한 "현실세계"를 단순화해 표현하는 것

    -"현실세계"를 추상화한 반영

    -모델이란 사물 또는 사건에 관한 양상(Aspect) 이나 관점(Perspective)을 연관된 사람이나 그룹을 위해 명확하게 하는 것

     

    모델링의 특징

    -추상화는 현실세계를 일정한 형식에 맞추어 표현하는 것.

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

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

     

    모델링의 세가지 관점

    -데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해 모델링하는 방법(what)

    -프로세스 관점: 실제하고 있는 업무는 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법(how)

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

     

    데이터베이스를 구축하기 위한 데이터 모델링

    데이터모델은 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL 문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위해 꼭 알아야 하는 핵심요소이다. SQL 전문가를 위한 지식에도 데이터베이스의 논리적인 구조, 즉 데이터 모델을 이해하는 것은 그 다음 SQL 문장을 어떻게 구성할지에 대한 지식과 효율적인 구성에 대한 밑바탕의 지식을 쌓기 위한 핵심적인 이론이라 할 수 있다.

     

    데이터 모델링의 목적

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

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

    즉 데이터 모델링은 단지 데이터베이스만을 구축하기 위한 용도로만 쓰이는 것이 아니라, 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미를 갖고 있다고 할 수 있다.

     

    데이터모델링이 제공하는 기능

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

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

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

    -시스템 구축 과정에서 결정한 것을 명세화한다.

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

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

     

    데이터 모델링의 중요한 이유

    -파급효과   :

    시스템 구축이 완성되어 가는 시점에 데이터 모델의 변경이 필요하면 다른 영역이 많은 수정이 불가피하다.

    -간결한 표현 :

    수많은 페이지의 기능적 요구 사항을 파악하는 것보다 간결하게 그려진 데이터 모델을 리뷰하는 것이 파악이 쉽다.

    -데이터 품질 :

    데이터는 기업의 중요한 자산으로, 기간이 오래될수록 활용가치는 올라간다. 정확성이 떨어지는 데이터는 수집기간이 아니라 쌓인 데이터를 활용하려는 시점에 문제가 대두된다. 

    데이터 품질의 문제가 야기되는 중대한 이유 중 하나는 데이터 구조때문이다. 

    중복데이터 미정의, 데이터 구조에서 비지니스 정의 불충분, 동일 성격의 데이터의 분리로 나타나는 데이터 불일치문제 등.

     

    데이터 모델링을 할 때 유의할 점 

    1. 중복 

    데이터 모델은 같은 데이터를 사용하는 사람, 시간, 장소를 파악하는 데 도움을 준다.

    2. 비유연성

    데이터 정의를 사용 프로세스와 분리시켜 서로의 작은 변화에 큰 변화를 일으킬 가능성을 줄여야한다.

    3. 비일관성 

    데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의는 이런 위험을 예방할 수 있게 한다. 

     

    데이터 모델링의 3단계 

     

    1.개념적 모델링 

    추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링을 진행한다.

    사용자의 데이터 요구사항을 찾고 분석하는데서 시작한다. 이 과정을 어떤 데이터가 중요하고 어떤 데이터가 유지되어야하는지를 결정하는 것도 포함한다. 핵심 엔티티와 관계를 발견하고, 그걸 표현하기 위한 엔티티-관계 다이어그램을 생성한다. 데이터 모델링 과정이 전 조직에 걸쳐 이루어지면 그걸 전사적(Enterprise) 데이터 모델이라고 한다.

    개념적 데이터 모델은 상위의 문제에 대한 구조화를 쉽게 하며, 사용자와 개발자가 시스템의 기능에 대해 논의할 수 있는 기반을 제공한다. 또, 개념 데이터 모델은 현 시스템이 어떻게 변형되어야 하는가를 이해하는데 유용하다.

     EA 수립시 많이 이용

     

    2.논리적 모델링

    데이터 설계 프로세스의 input 으로서 비지니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정이라 할 수 있다. 

    엔티티 중심의 상위 수준 데이터 모델이 완성되면,

    시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현하는 업무 중심 데이터 모델을 만든다.

    논리 데이터 모델의 상세화는 식별자 확정, M:M 관계 해소, 참조 무결성 규칙 정의 등을 들 수 있다.

    이 단계에서 수행하는 중요하고 대표적 활동 중 하나는 정규화이다. 더 신뢰성 있는 데이터 구조를 만들 수 있다.

    재사용성이 높다.

     

    3.물리적 모델링 

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

    데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 물리적 스키마라고 한다.

     

    실무에서는 개념, 논리적 모델링이 한번에 수행하는 경우가 많다.

     

    프로젝트 생명주기에서 데이터 모델링

     

    데이터 모델링에서 데이터 독립성의 이해

    데이터 독립성의 반대말을 데이터 종속성이다.

    종속의 주체는 보통 응용(Application) 을 지칭하는 경우이다. 응용은 사용자 요구 사항을 처리하는 사용자 접점의 인터페이스 오브젝트다. 과거에 파일 방식으로 데이터를 구성할 때는 데이터가 있는 파일과 데이터에 접근하기 위한 인덱스를 별도로 구현해 접근하게 했다. 사용자가 접근하는 방법(트랜젝션)에 따라 파일의 정렬순서, 인덱스의 정렬순서, 파일 구성 등을 제공하기 쉽게 별도로 구성하였다. 즉 트랜젝션 유형에 따하 데이터를 구성하는 방법이 영향을 받게 된다.

    유지보수 비용을 절감하고 데이터 복잡성을 낮추며 중복 데이터를 줄이기 위해 데이터 독립성이라는 개념이 출현한다.

    데이터 독립성을 유지하면 

    - 각 뷰의 독립성을 유지하고 계층별 뷰에 영향을 주지 않고 변경할 수 있다.

    - 단계별 스키마에 따라 데이터 정의어와 데이터 조작어가 다름을 제공한다.

     

    데이터베이스 3단계 구조

     

     

    데이터 모델링의 중요한 세가지 개념

    - 엔티티, 관계, 속성

     

    데이터의 재사용 

    과거에 정보시스템은 철저하게 부서 단위의 정보 시스템으로 설계되고 운용되어 왔다.

    현재 대부분의 회사에서 진행하고 있는 신규 정보시스템 구축 작업은 회사 전체 관점에서 공통 데이터를 도출하고 

    이를 전 영역에서 사용하기에 적절한 형태로 설계하여 이뤄진다. 이러한 형태의 데이터 설계에서 가장 중요하게 대두되는 것이 통합 모델이다. 통합 모델이어야만 데이터 재사용성을 높일 수 있다. 

    근래의 많은 패키지 시스템들이 가지고 있는 데이터 모델은 확장성을 강조하기 위해서 많은 부분을 통합한 데이터 모델의 형태를 가지고 있다. 데이터의 확장성을 담보하기 위해서는 데이터 관점의 통합이 불가피하다.

     특히 정보시스템에서의 "행위의 주체"가 되는 집합의 통합, "행위의 대상"이 되는 집합의 통합, "행위 자체"에 대한 통합은 전체 정보시스템의 안정성,확장성을 좌우하는 가장 중요한 요소이다.

    합리적으로 잘 정돈된 방법으로 데이터를 통합하여 데이터 집합을 정의하고, 이를 데이터 모델로 잘 표현,활용한다면 왠만한 업무 변화에도 데이터 모델이 영향을 받지 않고 운용할 수 있게 한다.

     

     

     

    출처

    SQL 전문가 가이드  / 한국데이터산업진흥원

    반응형

    '데이터베이스' 카테고리의 다른 글

    조인  (0) 2021.05.08
    단일함수, 집계함수  (0) 2021.05.05
    정규화  (0) 2021.05.03
    식별자  (0) 2021.05.02
    엔티티, 속성,관계  (0) 2021.05.02
Designed by Tistory.