최보름달

[SQL] 데이터 모델의 기본 개념 이해 본문

문송한 회사생활/SQL 공부

[SQL] 데이터 모델의 기본 개념 이해

PieMoon 2020. 7. 12. 14:47

데이터 모델링의 정의

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

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

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

 

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

- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.

- 시스템의 구조와 행동을 명세화 할 수 있게 한다. 

- 시스템을 구축하는 구조화된 틀을 제공한다. 

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

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

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

 

데이터 모델링이 중요한 이유

1) 파급효과 : 시스템 구축에는 많은 절차와 팀, 테스트가 동반된다. 이 때 데이터 모델을 변경해야 한다면, 엄청난 파급효과가 생기게 된다. 

2) 복잡한 정보 요구사항의 간결한 표현 : 데이터 모델은 구축할 시스템의 요구사항과 한계를 가장 명확하게 표현하는 도구이다. 건축물로 비유하면 설계 도면. 데이터 모델을 통해 많은 관련자들이 동일하게 이해하고 작업을 진행할 수 있게 된다. 

3) 데이터 품질 : 데이터는 기업의 중요한 자산이다. 기간이 오래될수록 활용도가 높아지는데, 처음 모델이 잘못 설계되면 시간이 지날수록 가치 없는 데이터가 될 수도 있다. 

 

데이터 모델링을 할 때 유의할 점 

1) 중복(Duplication) : 중복된 데이터를 저장하지 말자. 

2) 비유연성(Inflexibility) : 업무변화에 따라 데이터 모델이 변경될 수 있어야 한다. 

3) 비일관성(Inconsistency) : 동일한 기준으로 데이터를 쌓아야 한다. 명확하게 정의하자. 

 

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

데이터베이스를 만들어내는 과정은 추상화 수준에 따라 개념적 > 논리적> 물리적 데이터 모델로 정리할 수 있다. 

1) 개념적 데이터 모델링 : 추상화 수준이 높고 포괄적인 수준. 전사적 데이터 모델링, EA수립 시 많이 사용.

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

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

실질적인 프로젝트에서 1과 2는 동시에 진행되는 경우가 많다. 

 

 

 

 

* kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.