PMDEXIT 프로젝트 용어사전

데이터 모델링

Data Modeling

업무 데이터를 개념·논리·물리 모델로 구조화하는 활동.

데이터 모델링이란 무엇인가

데이터 모델링(Data Modeling)은 업무에서 다루는 데이터와 그 사이의 관계를 일정한 규칙으로 구조화하는 분석·설계 활동이다. 현실의 업무를 데이터의 언어로 옮겨, 무엇을 저장하고 어떻게 연결할지 합의된 형태로 정리하는 작업이라 할 수 있다.

화면이나 기능보다 먼저 데이터의 골격을 잡아야 시스템 전체가 일관된 기준 위에 서게 된다. 모델이 부실하면 이후 개발이 아무리 정교해도 데이터의 중복·불일치가 누적되어 운영 단계에서 비용을 치르게 된다.

01업무 분석02개념 모델03논리 모델04물리 모델
업무 분석에서 출발하는 모델링 흐름

개념·논리·물리 세 단계

데이터 모델링은 추상화 수준에 따라 개념·논리·물리의 세 단계로 진행되는 것이 일반적이다. 개념 모델은 핵심 개체와 관계를 큰 그림으로 잡아 업무 담당자와 소통하는 데 쓰인다.

논리 모델은 속성과 식별자, 관계의 차수를 정교하게 다듬어 데이터의 규칙을 명확히 한다. 물리 모델은 특정 데이터베이스 제품의 특성에 맞추어 테이블·컬럼·인덱스·자료형으로 구체화한다.

이렇게 단계를 나누면 업무 관점과 구현 관점을 분리해 각 단계의 의사결정을 또렷하게 관리할 수 있다.

개체관계도라는 공통 언어

세 단계의 산출물을 시각적으로 표현하는 대표 도구가 개체관계도(ERD)다. 개체관계도는 개체를 상자로, 관계를 선으로 나타내어 데이터 구조를 한 장으로 조망하게 해 준다.

개발자와 현업, 운영 담당자가 같은 그림을 보며 같은 용어로 이야기할 수 있다는 점에서 일종의 공통 언어 역할을 한다. 다이어그램이 곧 모델은 아니지만, 잘 정리된 개체관계도는 설계 의도를 빠르게 전달하고 누락된 관계나 모순을 조기에 드러낸다.

문서로만 남은 모델보다 한눈에 읽히는 그림이 검토의 밀도를 높인다.

단계추상화 수준산출물
개념핵심 개체·관계큰 그림 ERD
논리속성·식별자·차수정규화된 모델
물리DB 제품 특성테이블·인덱스
개념·논리·물리 세 단계 비교

중복 제거와 정규화의 자리

논리 모델을 다듬는 핵심 과정에는 정규화가 놓인다. 정규화는 한 속성이 여러 곳에 흩어져 갱신 시 불일치를 일으키는 상황을 줄이고, 데이터를 그 의미에 맞는 자리에 두도록 구조를 정리하는 기법이다.

다만 정규화 수준을 무조건 높이는 것이 정답은 아니다. 조회 성능이 중요한 영역에서는 의도적으로 일부 중복을 허용하는 반정규화를 적용해 균형을 맞춘다.

결국 데이터 모델링은 무결성과 성능이라는 두 요구 사이에서 합리적 절충점을 찾는 판단의 연속이다.

업무 분석에서 출발한다

좋은 데이터 모델은 기술이 아니라 업무 이해에서 시작된다. 현업이 어떤 단위로 일을 처리하고 무엇을 식별의 기준으로 삼는지를 정확히 파악해야 개체와 식별자가 제대로 잡힌다.

용어의 정의가 모호하면 같은 대상을 두 개의 개체로 쪼개거나, 다른 대상을 하나로 뭉뚱그리는 오류가 발생한다. 따라서 모델링 과정에는 용어 사전과 업무 규칙의 정리가 함께 따라붙어야 한다.

데이터의 구조는 곧 업무를 바라보는 조직의 관점을 그대로 드러내기 때문이다.

변경에 견디는 구조를 향해

시스템은 시간이 지나며 요구가 바뀌고 데이터의 양과 종류가 늘어난다. 잘 설계된 데이터 모델은 이런 변화를 큰 구조의 붕괴 없이 흡수하도록 여유를 남겨 둔다.

반대로 특정 화면이나 단기 요건에만 맞춘 모델은 작은 변경에도 연쇄적인 수정과 데이터 이관을 강요한다. 그러므로 모델링 단계에서 확장 가능성과 이력 관리, 코드 체계의 일관성을 미리 고려하는 것이 장기적으로 비용을 아낀다.

데이터 모델은 한 번 만들고 끝나는 그림이 아니라, 시스템의 생애 전체를 지탱하는 기반이다.

관련 용어