DAP

[DAP 전문가 가이드] 4.1.1 데이터 모델링 개요(2)

Leesemo 2025. 4. 28. 10:41

 

 

데이터 모델링 단계

 

- 데이터 모델링은 현실 세계의 기업 업무에서 발생하는 데이터에 대하여 물리적으로 데이터베이스화하기 위해 이루어지는 과정 중의 한 단계이다. 개념 데이터 모델링, 논리 데이터 모델링, 물리 데이터 모델링 등 3단계로 나눌 수 있다.

 

- 개념 데이터 모델링 단계에서는 주제별로 분류 가능한 업무를 분석한 후 핵심 엔티티를 추출하고 그들 간의 관계를 정의하여 전체 데이터 모델의 골격을 생성한다. 이렇게 도출된 엔티티 간의 관계를 표현하기 위해 ERD를 작성한다.

 

- 논리 데이터 모델링 단계에서는 개념 데이터 모델링 단계에서 정의한 핵심 엔티티와 관계를 바탕으로 상세 속성을 정의하고 식별자를 확정하며 정규화와 같은 상세화 과정을 수행한다.

 

- 물리 데이터 모델링 단계에서는 논리 데이터 모델을 기반으로 목표하는 DBMS의 특성 및 구현 환경 등을 감안한 스키마를 일정한 기준과 규칙에 의해 도출하고 컬럼의 데이터 타입과 크기를 정의한다. 또한 데이터 사용량을 분석 예측하는 과정을 통해 효율적인 데이터베이스가 될 수 있도록 인덱스의 정의 및 역정규화 작업을 수행한다.

 

개념 데이터 모델링

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

- 데이터 요구 사항은 분석 과정의 초기에 본질적으로 기술과 무관한 사양들의 집합인 개념 데이터 모델로 형상화되고, 비즈니스 이해 관계자들과 초기 요구 사항을 논의하기 위해 사용된다.

- 이 단계에 있어서의 주요한 활동은 핵심 엔티티와 그들 간의 관계를 발견하고, 그것을 표현하기 위해서 개체-관계 다이어그램을 생성하는 것이다.

- 개체-관계 다이어그램은 조직과 다양한 데이터베이스 사용자에게 어떠한 데이터가 중요한지를 나타내기 위해서 사용된다.

 

개념 데이터 모델링의 중요한 기능

  • 사용자와 시스템 개발자의 데이터 요구 사항 발견을 지원한다.
  • 현 시스템이 어떻게 변형되어야 하는가를 이해하는 데 유용하다.

 

논리 데이터 모델링

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

- 결과로 얻어지는 논리 데이터 모델은 데이터 모델링이 최종적으로 완료된 상태라고 정의할 수 있다.

- 논리 데이터 모델링의 핵심은 어떻게 데이터에 액세스하고 누가 데이터 액세스하며, 그러한 액세스는 전산화와는 독립적으로 인식하여 기록하는 것이다.

- 특히 데이터 모델링 과정에서 가장 핵심이 되는 부분이라고 할 수 있다.

- 이 단계에서 수행하는 중요한 활동 중 한가지인 "정규화"가 있다.

- 정규화는 논리 데이터 모델 상세화 과정의 대표적인 활동으로 논리 데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔티티에 배치되도록 함으로써 좀 더 신뢰성 있는 데이터 구조를 얻는 데 목적이 있다.

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

 

 

물리 데이터 모델링

- 물리 데이터 모델링은 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다룬다.

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

 

 

모델링 기본 원칙

커뮤니케이션 원칙

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

 

<데이터 모델의 이해를 필요로 하는 그룹>

그룹명 필요성
최종 사용자 개념화, 추상화, 정규화 기법을 통하여 중복없고, 데이터의 정확성을 보장하는 데이터 구조의 이해 및 사용
시스템 분석가 시스템에서 사용되어질 정확한 데이터의 구조 및 데이터가 갖는 업무 규칙의 이해
데이터베이스 관리자 논리 데이터 모델의 구조와 물리 스키마(데이터의 구조)의 차이점을 이해하고 최종 사용자에게는 데이터의 제공, 시스템 분석가에게는 물리 스키마의 제공을 위한 데이터 구조의 이해
타 프로젝트에서
작업하는 분석가
관련 프로젝트가 데이터를 어떻게 정의하고 있는지를 알아냄. 인터페이스가 개발되어지고 데이터가 애플리케이션 또는 시스템 간에 공유되기 위한 데이터 구조 및 업무 규칙의 이해

 

 

모델링 상세화 원칙

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

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

- 모델링의 상세화 원칙은 "데이터는 데이터의 본질과 잠재적 사용을 이해할 수 있을 만큼 상세화되어야 한다"는 것은 의미한다.

 

논리적 표현 원칙

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

- 모델은 물리적 제약 조건 없이 비즈니스를 그대로 반영해야 한다. 즉, 논리 데이터 모델은 특정 아키텍처, 기술 또는 제품과 독립적이어야 한다.

 

 

좋은 데이터 모델의 요소

완전성

- 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다.

중복 배제

- 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록하여야 한다.

- 저장 공간의 낭비, 중복 관리되고 있는 데이터의 일관성을 유지하기 위한 추가적인 데이터 조작 등이 대표적으로 낭비되고 있는 비용이다.

비즈니스 룰

- 데이터 모델에서 매우 중요한 요소 중에 하나가 데이터 모델링 과정에서 도출되어 지고 규명되는 수많은 업무 규칙을 데이터 모델에 표현하고 이를 해당 데이터 모델을 활용하는 모든 사용자가 그 규칙을 공유할 수 있게 제공하는 것이다.

데이터 재사용

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

- 데이터가 애플리케이션에 대해 독립적으로 설계되어야만 데이터 재사용성을 향상시킬 수 있다.

안정성 및 확장성

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

간결성

- 기업이 관리하고자 하는 데이터를 합리적으로 균형이 있으면서도 단순하게 분류하는 것이다.

의사소통

- 제대로 표현된 업무 규칙은 해당 정보시스템을 운용, 관리하는 많은 관련자들이 설계자가 정의한 업무 규칙들을 동일한 의미로 받아들이고 정보시스템을 활용할 수 있게 하는 역할을 한다.

통합성

- 가장 바람직한 데이터 구조의 형태는 동일한 데이터는 조직의 전체에서 한 번만 정의되고 이를 여러 다른 영역에서 참조, 활용하는 것이다.