본문 바로가기
자격증/데이터아키텍처 준전문가(DAsP)

DAsP(4과목) 1-1. 데이터 모델링 개요

by 김엉배 2023. 9. 2.
728x90
반응형

1.  데이터 모델링 정의


가) 데이터 모델링 탄생 배경

  • 초창기에는 데이터의 저장 매체가 존재하지 않았어며, 기업의 정보시스템은 저장 매체가 없는 단지 배치(Batch) 프로그램 위주의 정보시스템이었다. 이후 파일이나 데이터베이스 관리 시스템과 같은 데이터 저장 매체의 발전과 더불어 온라인 (Online) 데이터 처리 정보시스템이 태동하게 되었다.

나) 모델 정의

- 대상을 데이터베이스화하기 위 한 개념적 도구라고 정의할 수 있다.

  • 물리적 모델
    - 현실에 실제 하는 것이 아닌 복잡한 자동차의 모형, 대형 선박의 스케치 또는 설계도, 자동차의 모의실험용으로 사용되는 바람 터널에서의 자동차 축소 모형 등이 물리적 모델의 실례이다.

  • 개념적 모델
    - 특정 시점에 맞게 기상을 예측하기 위해서 사용되는 수리적 공식이나 원형을 파괴하지 않고 조작· 수정·변경시키기 위한 경제 모형 등

다) 모델링 정의

  • 실체를 나타내는 일과 모형화라는 의미로 해석된다. ‘실체를 나타낸다’의 의미는 ‘대상을 나타낸다’라는 말로 해석될 수도 있다.
  • 복잡한 ‘현실 세계’를 단순화시켜 표현하는 것
  • 모델이란 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 연관된 사람이나 그룹을 위하여 명확하게 하는 것
  • 모델이란 현실 세계의 추상화된 반영이다.

라) 데이터 모델이 제공하는 것

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

 

 

 

2.  데이터 모델링 필요성


 

  • 파급 효과(Leverage)
    - 데이터 구조의 변경에 따른 표준 영향 분석, 응용 변경 영향 분석 등 많은 영향 분석이 일어난다. 데이터 구조의 변경으로 인한 일련의 변경 작업은 전체 시스템 구축 프로젝트에서 큰 위험 요소가 아닐 수 없다. 이러한 이유로 인해 시스템 구축 작업 중에서 다른 어떤 설 계 과정보다 데이터 설계가 더 중요하다고 볼 수 있다.

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

  • 데이터 품질(Data Quality)
    - 데이터베이스에 담겨 있는 데이터는 기업의 중요한 자산이다. 이 데이터는 기간이 오래되면 될수록 활용가치는 훨씬 높아진다.

가) 애플리케이션과 데이터의 통합

- 데이터를 기반으로 한 통합은 효과적이면서 동시에 저비용으로 통합 프로젝트를 안정적으로 수행하면서 성공적으로 완수하기 위한 필요조건이 되고 있다. 이로 인해 데 이터 기반 통합의 핵심 요소인 데이터 모델링의 중요성은 날로 부각되고 있다.

 

나) 개발자들의 시스템 이해

- 개발자들은 그들이 개발할 시스템과 데이터를 좀 더 확실하게 이해하기 위해 데이터의 모형화를 필요로 한다.

  • 사용자 관점 데이터
    - 프로세스 모델링과 같이 데이터 모델링은 사용자가 원하는 것의 논리적 개념과 시스템이 어떻게 그것을 제공하는지의 물리적 개념을 명확하게 나타낸다.

  • 물리적 표현 또는 사용에 관계없는 데이터 그 자체의 본질
    - 물리적인 것으로부터 독립되어 조직과 사용자 가 필요로 하는 필수적이고 기본적인 데이터를 정의할 수 있다.

  • 애플리케이션 간 데이터 사용
    - 데이터 모델링은 데이터 정의, 생명주기 정보(CRUD) 그리고 언제 어떻게 데이터가 사용되었는지 를 추적할 수 있는 방법(매트릭스 분석 기법을 이용한 상호작용 분석) 등을 제공함으로써 애플리케이션을 통해 데이터가 어떻게 사용되는지를 개발자들이 쉽게 이해할 수 있도록 한다.

 

다) 데이터 모델링시 주의점

  • 중복(Duplication)
    - 데이터베이스의 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.

  • 비유연성(Inflexibility)
    - 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
  • 비일관성(Inconsistency)
    - 데이터 모델링시 데이터와 데이터간 상호연관 관계에 대한 명확한 정의는 위험을 사전에 예방할 수 있도록 해준다.

 

 

 

 

3.  데이터 모델링 단계

- 데이터 모델링은 현실 세계의 기업 업무에서 발생하는 데이터에 대하여 물리적으로 데이터베이스 화하기 위해 이루어지는 과정 중의 단계

- 데이터 모델링은 개념 데이터 모델링, 논리 데이터 모델링, 물리 데이터 모델링 등 3단계로 나눌 수 있다.


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

  • 추상적이기 때문에 상위의 문제에 대한 구조화를 쉽게 하며, 사용자와 개발자가 시스템 기능에 대해서 논의할 수 있는 기반을 형성한다.
  • 현 시스템이 어떻게 변형되어야 하는가를 이해하는 데 유용하다. 일반적으로 고립된 시스템도 간단하게 추상적 모델링을 통해서 좀 더 쉽게 표현되고 설명된다.

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

  • 데이터 모델링 프로세스의 Input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정이라 할 수 있다.

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

  • 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다룬다. 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 물리적 스키마라고 한다.

 

 

 

4.  모델링 기본 원칙


가) 커뮤니케이션 원칙

- 요구 사항은 모든 사람들이 이해할 수 있도록 명확하게 공표됨은 물론 최종 사용자 지향적으로 분명하게 파악되는 수준으로 작성되어야 함

 

나) 모델링 상세화 원칙

- 데이터의 상세화 정도를 제시하고 조직이 사용하는 정보 구조의‘최소 공통분모’를 제시해야 한다.

- 복잡한 구조는 요소적인 부분들로 쪼개야 하며 불필요한 구조와 중복은 제거되어야 한다.

 

다) 논리적 표현 원칙

- 조직의 데이터에 대한 논리적 측면을 최대한 표현해야 한다.

- 모델은 물리적 제약 조건 없이 비즈니스를 그대로 반영해야 한다.

 

 

 

 

5.  좋은 데이터 모델의 요소


  • 완전성(Completeness)
    - 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다.

  • 중복 배제(Non-Redundancy)
    - 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록하여야 한다.
    - 하나의 테 이블에서‘나이’ 칼럼과‘생년월일’ 칼럼이 동시에 존재한다면 이것은 데이터 중복이라고 볼 수 있다.

  • 비즈니스 룰(Business Rules)
    - 수많은 업무 규칙을 데이터 모델에 표현하고 해당 데이터 모델을 활용하는 모든 사용자가 그 규칙을 공유할 수 있게 제공하는 것.

  • 데이터 재사용(Data Reusability)
    - 데이터의 재사용성을 향상하고자 한다면 데이터의 통합성과 독립성에 대해서 충분히 고려해야 한다.

  • 안정정 및 확장성(Stability and Flexibility)

  • 간결성(Elegance)
    - 기업이 관리하고자 하는 데이터를 합리적으로 균형이 있으면서도 단순하게 분류하는 것

  • 의사소통(Communication)

  • 통합성(Integration)

 

 

728x90
반응형