본문 바로가기

DB

[DB] 데이터 모델링의 특징과 종류

0. 데이터 모델링의 정의

  • 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보가 무엇인지 분석하는 방법이다.
  • 기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙에 대해 사실과 거짓으로 판별할 수 있는 사실을 기반으로 독립적인 관점에서 이를 명확하게 표현하는 추상화 기법이다.
  • 업무에서 필요로 하는 데이터를 시스템 구축 방법론에 의해 분석하고, 설계하여 정보시스템을 구축하는 과정이다.

 

1. 데이터 모델링의 기능

  • 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
  • 시스템의 구조와 행동을 명세화 할 수 있다.
  • 시스템을 구축하는 구조화된 틀을 제공한다.
  • 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
  • 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
  • 특정 목표에 따라 구체화된 상세 수준의 표현 방법을 제공한다.

 

2. 데이터 모델링의 중요성

 

   2-1 파급효과

     - 시스템이 완성되어 가는 과정에서, 대규모의 데이터의 이행을 성공적으로 수행되는지 단위 테스트들이 수행된다.

     - 단위 테스트들이 성공적으로 진행되면 병행테스트, 통합 테스트를 수행하게 된다.

     - 이 시점에서 데이터 모델의 변경이 불가피한 상황이 오면, 이를 위해 표준 영향 분석, 응용 변경 영향 분석 등 

       많은 분석들이 필요하게 된다. 그 이후 변경작업이 실행된다. 즉 비용이 많이 들기 때문에 초기의 설계가 중요하다.

     - 따라서 시스템 구축 작업 중에서 데이터 설계가 가장 중요하다고 볼 수 있다.

 

   2-2 간결한 표현 

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

     - 데이터 모델은 건축물로 비유하면 설계 도면에 해당한다.

     - 데이터 모델은 관련 종사자들이 설계자의 정보요구사항을 이해하고, 데이터 정합성을 유지할 수 있도록 한다.

     - 데이터 모델의 중요한 점은 정보 요구사항이 정확하고 간결하게 표현되어야 한다.

 

  2-3 데이터 품질

     - 데이터베이스의 담겨있는 데이터는 기업의 중요한 자산이다.

     - 데이터가 쌓이면 쌓일수록 활용가치가 높아지고, 이를 통한 다양한 분석 작업들이 가능하다.

     - 하지만 데이터가 정확성이 떨어지고, 중복 데이터, 데이터 통합 등을 고려하지 않으면 데이터의 품질이 떨어진다.

     - 데이터 품질의 문제가 야기되는 큰 이유 중 하나는 데이터 구조의 문제이므로 모델링을 신경 쓸 필요가 있다. 

 

3. 데이터 모델링 유의점

  • 중복 : 데이터 모델은 같은 데이터를 사용한 사람, 시간, 그리고 장소를 파악하는데 도움을 준다. 이를 위해 여러 장소에 같은 정보를 저장하지 않도록 한다.
  • 비유연성 : 데이터 모델을 어떻게 설계했느냐에 따라 업무 변화에 데이터 모델이 수시로 변경됨으로 유지보수의 비용이 많아질 수 있다. 데이터의 정의를 데이터를 사용하는 프로세스와 분리함으로써 서로 간의 영향력을 줄인다.
  • 비일관성 : 데이터의 중복이 없어도 발생할 수 있다. 데이터의 모순이 일어나지 않도록 한다. 데이터 모델링 시에 데이터 간의 상호 연관 관계에 명확한 정의가 필요하다.

 

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

  시간과 추준화 수준에 따라 개념적 데이터 모델 -> 논리적 데이터 모델 -> 물리적 데이터 모델로 진행된다.

  시작은 추상화 수준이 높고, 구체적이지 않으나, 진행될수록 추상화 수준이 낮아지고, 구체화된다.

 

  4-1 개념적 데이터 모델링

    -조직, 사용자의 데이터 요구사항을 찾고 분석하는데서 시작한다.

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

    -(EA기반의 전사적인 데이터 모델링을 전개할 때는 더 상위 수준인 개괄적인 데이터 모델링을 먼저 수행한다.)

    -전사적 데이터 모델링, EA수립시 많이 이용한다.

    -사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원한다. 

    -현 시스템이 어떻게 변형되어야 하는지 이해하는데 유용하다.

 

  4-2 논리적 데이터 모델링

    -업무의 구체적인 모습과 흐름에 따른 구체화된 업무중심의 데이터 모델을 만든다.

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

    -핵심은 누가 데이터에 액세스 하고, 어떻게 데이터에, 비스니스 데이터에 존재하는 사실들을 인식하여 기록하는 것.

    -또한 이 단계에서 정규화가 진행된다. 일관성을 확보하고, 중복을 제거하여 적절한 엔터티에 배치되도록 한다.

 

  4-3 물리적 데이터 모델링

     -데이터베이스의 저장구조에 따른 테이블스페이스 등을 고려한 방식이다.

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

     -테이블, 칼럼 등으로 표현되는 물리적인 저장구조와 사용될 저장 장치, 자료 추출을 위한 접근 방법 등을 결정한다.

 

5. 데이터 독립성 모델링의 3단계

 

  5-1 외부스키마(External Schema)

    -View 단계의 여러 사용자의 관점으로 구성되어 있다. 사용자 개인이 보는 개인적 DB 스키마

    -DB의 각 사용자나 응용프로그래머가 접근하는 DB 정의다.

    -사용자 관점, 접근하는 특성에 따른 스키마다.

 

  5-2 개념스키마(Conceptual Schema)

    -모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것이다.

    -모든 응용시스템들이나 사용자가 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 DB에 저장되는

     데이터와 그들 간의 관계를 표현하는 스키마다.

    -통합 관점

 

 5-3 내부스키마(Internal Schema)

    -내부 단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식이다.

    -물리적 장치에서 데이터가 실제적을 저장되는 방법을 표현한 스키마다.

    -물리적 저장구조

 

 

 데이터 독립성의 개념 

    -데이터 독립성은 지속적으로 증가하는 유지보수 비용을 절감하고, 데이터 복잡도를 낮추며,

     중복된 데이터를 줄인다. 또한 계속되는 사용자 요구사항에 대해 화면과 데이터베이스 간의 독립성의 유지를 위해

     생긴 개념이다.

 

 

6. 데이터 독립성의 두 영역

 

  6-1 논리적 독립성

    -개념 스키마가 변경되어도 외부 스키마에는 영향이 가지 않게 지원하는 것이다.

    -논리적 구조가 변경되어도 응용 프로그램에 영향이 없도록 한다.

    -사용자 특성에 맞는 변경이 가능하고, 통합 구조도 변경이 가능하다.

 

  6-2 물리적 독립성

    -내부 스키마가 변경되어도 외부/개념 스키마는 영향이 가지 않게 지원하는 것이다.

    -저장장치의 구조변경은 응용프로그램과 개념 스키마에 영향이 가지 않게 한다.

    -물리적 구조 영향 없이 개념구조 변경이 가능하다.

    

 

    

   

 

출처 - SQL 전문가 가이드 2013 Edition