독서하는 개발자's Blog

반응형

SQL 전문가 가이드 정리 


제 1장 데이터 모델링의 이해

 제 1절. 데이터 모델의 이해


모델링의 정의

- 모델이라 하는 것은 모형, 축소형의 의미로서 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형.

- 사람이 살아가면서 나타날 수 있는 다양한 현상은 사람, 사물, 개념 등에 의해 발생. 

(모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미) *모델을 만들어가는 일 자체를 모델링으로 정의할 수 있다.


'복잡한 현실세계'를 표기법이나 언어로 단순화 시켜표현 / 사물 또는 사건에 관한 관점을 연관된 사람이나 그룹을 위해 명확하게 하는 것 / 현실 세계의 추상화된 반영   ==> 모델


모델링의 세가지 관점 : 데이터관점, 프로세스관점, 데이터와 프로세스의 상관관점 (what, how - interaction)


데이터 모델링이란? 

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

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

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


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

- 시스템의 현재모습으로의 가시화

- 구조와 행동의 명세화

- 구조화된 틀, 문서화

- 목표에 따라 구체화된 표현방법


데이터 모델링의 중요성 

1. 파급효과 - 쉽게말해서 구축이 어느정도 다된 상태에서 테스트를 하는 과정에서 구조자체의 문제가 생기면 위험하다.

2. 복잡한 정보 요구사항의 간결한 표현 - 건물을 지을때 설계자가 공사하는 사람에게 쉽게 말해줘야 설계대로 완벽하게 지을 수 있다.

3. 데이터 품질 - 데이터가 오래되었거나 중복 데이터의 미정의등과 같이 데이터 구조의 문제로 인한 데이터는 되돌리기 어렵다.


데이터 모델링의 유의점

1. 중복(duplication)

2. 비유연성(inflexibility)

3. 비일관성(inconsistency)


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

- 현실세계의 개체 -> 개념적 데이터 모델링 -> 개념세계 개념적 구조 -> 논리적 데이터 모델링 -> 개념세계 논리적 구조 -> 물리적 데이터 모델링 ->저장 데이터베이스


데이터독립성의 필요성

- 유지보수 비용증가 / 데이터복잡도 증가 / 데이터 중복성 증가 / 요구사항 대응 저하의 문제 때문에 필요하다.

- 각 view의 독립성 유지, 계층별 view에 영향을 주지 않고 변경가능


Mapping(사상)

- 상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.


데이터 모델링 세 가지 요소

- 엔터티, 속성, 관계

(사람, 성격, 사람과 사람의 관계등)

2019-02-11 22:30 ~ 24:00

좋은 데이터 모델의 요소

1. 완정성(Completeness)

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


2. 중복배제(Non-Redundancy)

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

ex) 하나의 테이블에 '나이' 컬럼과 '생년월일' 컬럼이 동시에 존재하면 데이터 중복


3. 업무규칙(Business Rules)

- 데이터 모델에서 중요한 요소 중 하나는 데이터 모델링 과정에서 규명되는 수많은 업무규칙을 데이터모델의 표현, 활용하는 모든 사용자가 공유할 수 있도록 제공하는 것.

- 맡은 업무규칙에 따라 모든 사용자(개발자, 관리자)가 동일한 판단을 하고 데이터를 조작할 수 있어야한다.


4. 데이터 재사용(Data Reusability)


5. 의사소통(Communication)


6. 통합성(Integration)

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


반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band