brunch

You can make anything
by writing

C.S.Lewis

by imRachel Apr 30. 2023

[SQLD1] 5.1 모델링의 이해

기획자의 데이터 공부 - 데이터 모델링의 이해

* 모델링 정의

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

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

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

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

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

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


* 모델링 특징

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

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

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


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


* 모델링의 세가지 관점

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

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

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


* 데이터 모델링

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

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

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


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

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

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

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

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

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

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


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


* 파급효과

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

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


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

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

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


* 데이터 품질

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

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

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


* 데이터 모델링 3단계

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

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

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

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


* 개념적 데이터 모델링

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

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

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

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

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

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


* 논리적 데이터 모델링

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

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

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

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

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


* 물리적 데이터모델링

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

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


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


[본 글은 SQLD 자격증 공부를 위해 아카이빙한 글입니다.

출처 - https://snnchallenge.tistory.com/192]

작가의 이전글 [SQLD1] 4.2 식별자관계와 비식별자관계
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari