티스토리 툴바


데이터 모델링

일상 2006/01/08 22:43
EA 컨설팅을 받으면서 나름대로 데이터 모델링이란 것에 대해 정리해 보고자 한다.

총4개의 레벨로 구성되며 각각은 어떤 사용자가 모델링 자료를 참조하느냐에 따라 보는 레벨이 틀려진다.

레벨1 : CIO 관점에서 데이터 구성도를 그리게 된다.

데이터 구성도란 회사에서 추진하고 있는 업무(비즈니스)에 어떤 데이타(정보)가 연관되어 있는지를 파악하는 단계이다.

한단계 더 들어가면 해당 데이타의 주제영역이 무엇인지까지 파악하는 단계이다.

CIO 관점에서는 그 이상의 데이터는 의미가 없어진다.

비즈니스를 추진함에 있어 필요한 정보가 무엇인지 파악할 수 있고 해당 비즈니스에 그 정보가 존재하는지를 파악할 수 있으면 된다.

현재(AS-IS)의 데이타구성도와 미래(TO-BE)의 데이터구성도를 비교하여 볼 수 있도록 하는 것이 레벨1관점에서는 EA 모델링이다.

레벨2 : Owner 관점에서의 데이타모델링이다.

Owner 란 팀장급을 의미하게 된다. 레벨2에서는 개념데이터모델을 구축하게 된다.

레벨1보다 한단계 더 심화된 개념으로 레벨1에서의 데이터가 주로 데이터베이스개념이라면 레벨2에서는 테이블단위의 개념이라고 보면 이해하기 쉽다.

테이블단위라고 해서 테이블을 의미하는 것은 아니다.

이름 그대로 개념데이터모델을 그리는 것이다.

예를들어 인사시스템을 구축한다고 하면 인사라는 비즈니스를 추진하기 위해 필요한 개념적 데이터를 찾아내는 것이다.

사원정보, 급여테이블, 승진기록 등이 개념적 데이터라고 볼 수 있을 듯 하다.

레벨3 : Designer 관점에서 논리적데이터모델을 구축하게 된다.

논리적데이터모델이란 일반적으로 DBA 가 비즈니스와 개념데이터모델을 보고 그리게 되는 ERD 를 의미한다.

논리적 데이터를 추출하고 그 관계를 만들어나가는 단계이다.

레벨4 : Builder 관점에서 물리적데이터모델을 구축하게 된다. 비유하자면 DB 스키마를 구축하는 단계이다.

이렇게 분류하고 보니 그동안 프로그래밍을 하면서 레벨2,3,4를 한번에 묶어서 작업을 한 것이 얼마나 무지한 일이었나 반성하게 된다.

또한 저렇게 하고도 오류가 비교적(?) 적은 프로그램을 코딩할 수 있는 능력에 다시 한번 놀라게 된다.

연초라 다행이다. 이런것을 경험했다는 것이 올 한해를 설계하는데 도움이 되었으면 한다.
posted by 제씨