목차
1. 데이터 모델링이란
2. 데이터 모델링의 중요성
3. 데이터 모델링의 단계
1. 데이터 모델링이란
데이터 모델링이란, 데이터베이스 시스템을 설계하는 과정으로, 현실 세계의 복잡한 비즈니스 프로세스를 추상화여 데이터 구조로 옮기는 설계 과정이다.
예를 들어, "고객이 상품을 주문하는 과정"을 표현하고자 할 때, 고객의 이름, 주문 시간, 결제 수단, 배송지 등 많은 정보들 중에서 비즈니스에 필요한 정보들만 선택하여, 어떤 테이블에 어떤 컬럼을 생성할지를 모델링하는 것이다.
'고객'과 '주문'이라는 객체로 나누고 그 사이의 관계를 설정하는 작업이다.
데이터 모델링은 추상화, 단순화, 명확화라는 특징을 가지고 있다.
- 추상화 : 비즈니스에 반드시 필요한 핵심 요소만 추출하여 표현
- 단순화 : 누구나 이해할 수 있는 언어로 표현하고 정해진 틀에 맞춰 단순하게 구조화
- 명확화 : 하나의 데이터는 하나의 명확한 의미를 가지도록 함
이 특징들을 기반으로 데이터를 효율적으로 저장하고 관리하며, 필요한 정보를 정확하게 추출할 수 있도록 하는 작업으로,
엔티티(Entity), 속성(Attribute), 관계(Relationship) 등 시각적으로 표현한 다이어그램을 활용한다.
2. 데이터 모델링의 중요성
요즘 많은 양의 데이터를 수집하고 있는데, 이러한 상황에서 비즈니스 의사결정에 도움을 줄 수 있는 데이터를 골라내고 가공하는 것이 더욱 중요해지고 있다.
비즈니스 요구사항을 기반으로 어떤 구조로 데이터를 담을지에 대한 설계를 하는 것이 바로 데이터 모델링인데, 그렇다면 왜 데이터 모델링을 해야 하는지, 왜 중요한지에 대해서 살펴보자.
1) 데이터 일관성 유지
- 데이터가 중복되거나 서로 다른 값을 가지는 것을 방지할 수 있음
- 모델링이 잘 되어 있다면, 고객의 정보가 변경되었을 때 여러 개의 테이블을 수정할 필요 없이 하나의 테이블만 수정하면 됨
2) 효율적인 데이터 관리
- 데이터베이스의 성능을 최적화하고, 데이터 검색/삽입/삭제/갱신 등의 작업을 효율적으로 수행할 수 있게 함
- 수억 건의 데이터에서 필요한 정보만 빠르게 추출할 수 있도록 함
3) 비즈니스 요구사항 반영
- 데이터 모델링을 통해 비즈니스 요구사항을 명확히 이해하고, 이를 데이터베이스 구조에 반영할 수 있음
4) 커뮤니케이션 도구
- 기획자, 개발자, 분석가 간의 의사소통을 원활하게 하는 도구로, ERD(설계도)라는 공통된 시각적인 모델을 통해 동일하게 데이터를 이해하고 논의할 수 있음
5) 미래 확장성 및 유연성 확보
- 새로운 기능이 추가되거나 데이터의 양이 급증해도 전체 구조를 수정하지 않고 유연하게 대응 가능함
3. 데이터 모델링의 단계
데이터 모델링은 총 4가지 단계로 진행된다.

1) 요구사항 분석
- 비즈니스에서 어떤 데이터가 필요한지 파악하고 정의하는 단계
- 현업 담당자와 소통하며 요구사항을 명확히 파악하고 이해해야 함
- 산출물 : 요구사항 명세서
2) 개념적 데이터 모델링
- 핵심 엔티티 (Entity)와 엔티티 간의 관계 (Relationship)를 정의하는 단계
- 복잡한 속성보다는 핵심 뼈대를 잡는 것을 집중하며, 조직 전체의 관점에서 데이터를 바라봐야 함
- 산출물 : 개념적 데이터 모델 (ERD 등)
3) 논리적 데이터 모델링
- 비즈니스 정보의 논리적 구조를 상세하게 설계하는 단계
- 엔티티 (Entity)를 테이블로 변환하고 속성을 열로 정의하고, 기본키, 외래키를 설정함.
- 정규화 과정을 통해 데이터 중복을 최소화하고 데이터 무결성을 보장
- 산출물 : 논리적 데이터 모델 (정규화된 테이블 구조)
4) 물리적 데이터 모델
- 설계도를 바탕으로 실제 데이터베이스에 테이블을 생성하는 단계
- 특정 DBMS의 특성에 맞춰 데이터 타입, 인덱스, 파티셔닝 등을 결정
- 산출물 : 물리적 데이터 모델 (구체적인 DB 스키마)
쉽게 데이터 모델링 단계를 이해할 수 있도록 "고객이 상품을 주문하는 과정"을 데이터 모델링 단계별로 예시를 정리해보았다.
| 단계 | 예시 |
| [1] 요구사항 분석 | - 고객이 여러 상품을 한 번에 주문할 수 있다. - 주문 상태 (결제 대기, 배송중, 주문 완료 등)을 추적할 수 있어야 한다. - 할인 쿠폰이 적용된 결제 금액이 중요하다. |
| [2] 개념적 데이터 모델링 | - 엔티티 : 고객(User), 상품(Product), 주문(Order) - 관계 : 고객은 여러 개의 주문을 가지고 있다 (1:N) / 주문은 여러 상품을 포함한다. (N:M) |
| [3] 논리적 데이터 모델링 | - 고객 테이블 : 고객ID (PK), 이름, 이메일, 가입일 - 주문 테이블 : 주문번호 (PK), 고객ID (FK), 주문일자, 총 결제금액 |
| [4] 물리적 데이터 모델링 | - 컬럼별 데이터 타입 설정 - 주문일자 컬럼에 INDEX 설정 (주문일자별 조회가 많은 경우) |
데이터 모델링이 무엇인지, 왜 필요한지, 또 데이터 모델링은 어떠한 과정으로 이루어지는지에 대해 간략하게 알아보았다.
이제 데이터 모델링 단계/유형별로 어떻게 진행이 되는지, 세부적으로 공부해보려고 한다.
관련 포스팅
[데이터 모델링] 2. 개념적 데이터 모델링
목차1. 개념적 데이터 모델링2. 개념적 데이터 모델링 예시 개념적 데이터 모델링에 본격적으로 들어가기 앞서, 다시 한 번 더 데이터 모델링의 단계를 복기해보자.총 4가지 단계로 구성되며, 어
ars420.tistory.com
[데이터 모델링] 3. 논리적 데이터 모델링
목차1. 논리적 데이터 모델링2. 논리적 데이터 모델링 예시 데이터 모델링은 총 4가지 단계로 구성되어 있다. 개념적 데이터 모델링 단계를 거쳐 엔티티와 관계를 정의하여 ERD를 만들어냈으면,이
ars420.tistory.com
참고 자료
https://aws.amazon.com/ko/what-is/data-modeling/
https://www.ibm.com/kr-ko/think/topics/data-modeling
https://coding-factory.tistory.com/869
개인적으로 공부하고 정리하기 위해 작성한 포스팅으로 잘못된 부분이 있으면 댓글 주시면 감사하겠습니다 :)!
'Data Analysis > 데이터 모델링' 카테고리의 다른 글
| [데이터 모델링] 3. 논리적 데이터 모델링 (0) | 2026.02.02 |
|---|---|
| [데이터 모델링] 2. 개념적 데이터 모델링 (1) | 2026.01.21 |