본문 바로가기

SQLD

[SQLD : Ⅰ. 데이터 모델링의 이해] 5-1. 모델링의 이해

* 모델링 정의

 - 살면서 나타나는 다양한 현상을 표기법에 의해 규칙을 갖고 표기하는 것

 - WEBSTER 사전 : 가설적 또는 일정 양식에 맞춘 표현,

                         어떤 것에 대한 예비표현으로 그로부터 최종대상이 구축되도록 하는 계획으로서 기여

 - 복잡한 현실세계를 단순화시켜 표현한 것

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

 - 모델이란 현실 세계의 추상화된 반명

 

* 모델링 특징

 - 추상화 : 현실세계를 일정한 형식에 맞추어 표현

 - 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해하게 함

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

 

 - 정보시스템 구축에서는 모델링을 계획/분석.설계 시 분석하고 설계, 이 후 구축/운영에서 변경, 관리

 

* 모델링 세가지 관점

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

 - 프로세스 관점 : 업무가 실제 하는 일이 무엇이고 무엇을 해야하는지 모델링하는 방법

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

 

* 데이터 모델링

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

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

 - 데이터베이스 구축을 위한 분석/설계 과정

 

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

 - 시스템을 현재 또는 원하는 모습으로 가시화하도록 도움

 - 시스템의 구조와 행동을 명세화

 - 시스템 구축하는 구조화된 틀 제공

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

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

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

 

* 데이터 모델링이 중요한 이유 : 파급효과, 복잡한 정보 요구사항의 간결한 표현, 데이터 품질

 

* 파급효과

  데이터 구조의 변경으로 인한 일련의 변경작업은 전체 시스템 구축 프로젝트에서 큰 위험요소가 될 수 있음

  시스템 구축 작업 중에서 다른 어떤 설계 과정보다 데이터 설계가 더 중요함

 

* 복잡한 정보 요구사항의 간결한 표현

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

  정보 요구사항이 정확하고 간결하게 표현되어야 함

 

* 데이터 품질

 - 중복 : 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록함

 - 비유연성 : 데이터 모델은 사소한 업무변화에도 데이터 모델이 수시로 변경돼서 유지보수 어려움 가중시킴

 - 비일관성 : 데이터 중복이 없더라도 발생 가능, 데이터 간 상호 연관관계에 대한 명확한 정의 필요

 

* 데이터 모델링 3단계

 - 개념적 데이터 모델링 : 추상화 수준이 높고, 업무중심적이고 포괄적인 수준의 모델링 진행,

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

 - 논리적 데이터 모델링 : 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확히 표현, 재사용성 높음

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

 

* 개념적 데이터 모델링

 - 핵심 엔티티와 그들 간의 관계를 발견하고, 표현하기 위해 엔티티-관계 다이어그램을 생성

 - 엔티티-관계 다이어그램은 조직과 다양한 데이터베이스 사용자에게 어떤 데이터가 중요한지 나타내기 위해 사용

 - 데이터 모델링 과정이 전 조직에 걸쳐 이루어지면 전사적 데이터모델이라고 불림

 - 데이터 요구를 공식화하는 중요한 기능 

    개념 데이터 모델은 사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원

    개념 데이터 모델은 현 시스템이 어떻게 변형되어야 하는지를 이해하는데 유용함

 

* 논리적 데이터 모델링

 - 누가 어떻게 그리고 전산화와는 별개로 비즈니스 데이터에 존재하는 사실들을 인식하여 기록

 - 시스템 구축을 위해 가장 먼저 시작할 기초적인 업무조사부터 인간이 결정할 사항을 모두 정의

 - 정규화는 논리 데이터 모델 상세화 과정의 대표적인 활동

   논리 데이터 모델의 일관성을 확보, 중복을 제거, 속성들이 적절한 엔티티에 배치되게 함, 신뢰성 있는 데이터 구조

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

 

* 물리적 데이터 모델링

 - 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현딜 것인가를 다룸

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

 

 - 실제로는 개념적 데이터 모델링과 논리적 데이터 모델링을 한번에 수행하는 경우가 대부분