본문 바로가기
My Image
전공지식/DataBase

[SQLD] 제1장 - 모델링, 데이터 모델링

by Lim-Ky 2018. 5. 7.
반응형




1. 모델링의 이해


모델링의 정의

-> 사람이 살아가면서 나타날 수 있는 모든 다양한 현상은 사람, 사물, 개념 등에 의해 발생된다고 할 수 있으며 모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미합니다.


즉! 복잡한 현실세계를 일정한 표기법에 의해 표현하는 일 자체가 모델링이라고 할 수 있습니다. 



2. 모델링의 3가지 특징


모델링의 특징에는 3가지가 있습니다. 반드시 기억하세요. 추상화, 단순화, 명확화입니다.


1) 추상화 : 현실세계를 일정한 형식에 맞추어 표현한다는 의미, 다양한 현상을 일정한 양식인 표기법에 의해 표현하는 것


2) 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념!


3) 명확화 : 누구나 이해하기 쉽게, 애매모호함을 제거하고 정확하게 현상을 기술하는 것


즉, 


추상화는 일정한 표기법으로 표현하는 것, 

단순화는 이해하기 쉽게 표현하는 것, 

명확화는 애매모호함을 정확하게 표기하는 것



3. 모델링의 3가지 관점


모델링은 크게 세가지 관점으로 바라볼 수 있습니다. 데이터 관점, 프로세스 관점, 데이터와 프로세스의 상관 관점 입니다.


1) 데이터 관점 : 업무가 어떤 데이터와 연관이 있는지, 데이터간의 관계는 무엇인지에 대해서 모델링 하는 방법(What, Data)


2) 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지, 무엇을 해야 하는지를 모델링 하는 방법(How, Process)


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



1. 데이터 모델링의 정의


정보시스템을 구축하기 위해 해당업무에 대한 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보는 무엇인지를 분석하는 방법


기업 업무에 대한 종합적인 이해를 바탕으로 데이터에 존재하는 업무 규칙에 대하여 참, 거짓을 판별할 수 있는 사실을 데이터에 접근하는 방법(HOW), 사람(WHO), 전산화와는 별개의 관점에서 이를 명확하게 표현하는 추상적인 기법


즉, 업무에 필요로 하는 데이터를 시스템 구축 방법론에 의해 분석하고 설계하여 정보시스템을 구축하는 과정임

또한 데이터 모델링을 하는 이유는 


첫 번째, 업무 내용을 정확하게 분석하는 것 

두 번째, 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것 


+PS 데이터 모델링이라는 것은 단지 데이터베이스만을 구축하기 위한 용도로 쓰이는 것이 아니라 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미를 가지고 있다고 할 수 있음. -> 업무도 알 수 있어야 함.


2. 데이터 모델링이 제공하는 기능


1. 가시화

2. 명세화

3. 구조화된 틀 제공

4. 문서화

5. 댜앙한 관점 제공

6. 상세 수준의 표현 방법 제공



3. 데이터 모델링의 중요성 및 유의점


중요성 -> 파급효과, 간결한 표현, 데이타 품질

유의점 -> 중복, 비유연성, 비일관성


중요성


1) 급효과(Leverage) : 설계를 어떻게 하느냐에 따라 파급효과가 다름


2) 간결한 표현(Conciseness) : 말 그대로 간결하게 표현하는 것!, 수 많은 페이지의 기능적인 요구사항이 아닌, 간결하게 그려져 있는 데이터 모델을 추천


3) 데이터 품질(Data Quality) : 데이터를 비즈니스 가치로 삼고 활용하는 것, 따라서 데이터 관리가 중요함!


유의점


1) 중복(Duplication) : 데이터 모델은 같은 데이터를 사용하는 사람, 시간, 장소를 파악하는데 도움을 준다. 하지만 이러한 데이터가 여러 장소에 같은 정보를 저장하는 잘못을 저지르지 않도록 한다.


2) 비유연성(Inflexibility) : 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.


3) 비일관성(Inconsistency) : 예를 들어, 신용 상태에 대한 갱신 없이 고객 납부 이력 정보를 갱신하는 것 즉 데이터의 모순을 파악하지 못한 채 개발자가 데이터를 수정하는 것을 방지해야 함



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


<<< 추상적 | 구체적 >>>

개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 


개념적 데이터 모델링 : 추상화 수준이 높고, 업무중심적!, 포괄적인 수준의 모델링 진행, 전사적 데이터 모델링, EA 수립시 많이 이용

-> 사용자의 데이터 요구사항을 찾고 분석하는 것, 핵심 엔터티와 그 관계를 발견하고 그것을 표현하기 위해서 관계 다이어그램을 생성


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

-> 설계 프로세스의 Input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법, 정규화


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

-> 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 나타냄


 












반응형

댓글