데이터 모델링과 세 단계
쉽게 말하면
데이터 모델링은 '이 일을 하려면 어떤 정보를 어떻게 적어 둬야 하지?'를 그림으로 정리하는 일이에요. 처음엔 '고객이 주문을 한다' 정도로 크게 그리고(개념), 다음엔 표와 칸을 정하고(논리), 마지막엔 실제 데이터베이스에 맞춰 저장 방식까지 정해요(물리). 집을 지을 때 스케치, 설계도, 시공 도면 순서로 점점 자세해지는 것과 같아요.
시험용 정의
데이터 모델링은 현실 세계의 업무를 데이터베이스로 옮기기 위해 필요한 데이터와 그 관계를 약속된 표기법으로 그려 내는 과정이다. 복잡한 현실을 추상화(공통점만 뽑기), 단순화(쉽게 이해할 수 있게), 명확화(한 가지 뜻으로만 읽히게)해서 표현한다. 보통 개념적 → 논리적 → 물리적 세 단계로 점점 구체적으로 만든다.
비유로 이해하기
집 짓기와 같다. 개념 모델은 "방 3개, 거실 1개" 수준의 스케치, 논리 모델은 방마다 크기와 문 위치까지 정한 설계도, 물리 모델은 어떤 자재를 쓰고 배관을 어디로 낼지 정한 시공 도면이다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 모델(model) | 현실을 그대로 옮기지 않고 목적에 필요한 부분만 골라 단순하게 표현한 것. 지도가 대표적인 모델이다 |
| 엔터티 | 업무에서 관리해야 할 대상(고객, 주문, 상품 등). 데이터베이스에서는 대개 테이블이 된다 |
| 속성 | 엔터티가 가진 성질 하나하나(고객 이름, 전화번호). 테이블의 열(컬럼)이 된다 |
| 관계 | 엔터티끼리의 연결(고객이 주문을 한다). 외래키와 조인으로 구현된다 |
| ERD | Entity Relationship Diagram. 엔터티·속성·관계를 그림으로 나타낸 도표 |
| DBMS | 데이터베이스를 만들고 관리하는 소프트웨어. Oracle, SQL Server, MySQL 등 |
세 단계 데이터 모델링
| 단계 | 하는 일 | 특징 |
|---|---|---|
| 개념적 | 업무 전체에서 핵심 엔터티와 그 관계를 찾아 큰 그림을 그린다 | 추상화 수준이 가장 높다. 업무 중심, 포괄적. 전사 아키텍처를 세울 때 쓴다 |
| 논리적 | 키, 속성, 관계를 정확히 정의한다. 정규화를 이 단계에서 한다 | 특정 DBMS와 무관하다. 재사용성이 가장 높다 |
| 물리적 | 실제 DBMS에 맞춰 테이블, 컬럼 자료형, 인덱스, 저장 공간을 정한다 | 성능과 저장 방식 같은 물리적 성격을 고려한다. 가장 구체적이다 |
모델링이 피해야 할 세 가지
- 중복(Duplication): 같은 데이터를 여러 곳에 두면 저장 공간이 낭비되고, 한 곳만 고쳐 값이 서로 달라질 수 있다
- 비유연성(Inflexibility): 업무가 조금만 바뀌어도 모델을 크게 고쳐야 하는 설계. 데이터 정의와 프로세스(사용 방법)를 분리해야 유연해진다
- 비일관성(Inconsistency): 서로 연관된 데이터가 맞지 않는 상태. 데이터 사이의 상호 연관 관계를 명확히 정의하면 줄일 수 있다
모델링의 세 관점
| 관점 | 질문 | 예 |
|---|---|---|
| 데이터 관점 | 업무가 어떤 데이터와 관련이 있나 (What) | 고객, 주문, 상품 |
| 프로세스 관점 | 업무가 실제로 무엇을 하나 (How) | 주문 접수, 배송 처리 |
| 데이터와 프로세스의 상관 관점 | 프로세스가 데이터에 어떤 영향을 주나 (Interaction) | 주문 접수가 재고 수량을 줄인다 |
ERD 표기법과 그리는 순서
ERD는 1976년 피터 첸(Peter Chen)이 처음 제안했다. 첸 표기법은 엔터티를 사각형, 관계를 마름모, 속성을 타원으로 그린다. 실무와 시험에서는 관계를 선과 기호로만 그리는 IE 표기법(까마귀발, Crow's Foot)과 Barker 표기법을 많이 쓴다.
그리는 순서: 엔터티 도출 → 엔터티 배치 → 관계 설정 → 관계명 기술 → 관계 차수(참여도) 기술 → 관계 필수 여부 기술. 중요한 엔터티(주로 업무의 중심)를 왼쪽 위에 두고 나머지를 배치한다.
시험에 이렇게 나와요
- 개념 → 논리 → 물리: 추상화 수준은 개념이 가장 높고, 정규화는 논리 단계, 성능·저장은 물리 단계
- 모델링 특징 세 가지: 추상화·단순화·명확화
- 모델링 유의점: 중복·비유연성·비일관성
- 세 관점: 데이터(What)·프로세스(How)·상관(Interaction)
- ERD 작성 순서와 IE(까마귀발)·Barker 표기법
출제 범위·공식 안내 기반
확인 문제
Q1. 데이터 모델링을 개념 → 논리 → 물리 순서로 진행할 때, 추상화 수준이 가장 높은 단계는?
- 세 단계 모두 같다
- 개념적 데이터 모델링
- 논리적 데이터 모델링
- 물리적 데이터 모델링
정답 보기
2번 개념적 데이터 모델링
개념적 모델링은 업무 전체를 큰 덩어리(핵심 엔터티와 관계)로만 그리므로 가장 추상적이다. 논리 단계에서 키·속성·관계를 정확히 정하고, 물리 단계에서 실제 DBMS의 테이블·인덱스·저장 방식까지 정하면서 점점 구체적이 된다.
Q2. 데이터 모델링의 특징으로 거리가 먼 것은?
- 단순화
- 명확화
- 추상화
- 구체화
정답 보기
4번 구체화
모델링의 세 특징은 추상화·단순화·명확화다. 현실을 있는 그대로 자세히 옮기는 것이 아니라 필요한 것만 단순하게 뽑아 낸다.
Q3. 키·속성·관계를 정확하게 정의하고 정규화를 수행하는 단계는?
- 개념적 모델링
- 요구사항 분석
- 논리적 모델링
- 물리적 모델링
정답 보기
3번 논리적 모델링
논리적 모델링에서 식별자·속성·관계를 확정하고 정규화로 중복을 없앤다. 특정 DBMS에 매이지 않아 재사용성이 높다.
Q4. ERD를 그리는 순서로 옳은 것은?
- 관계 차수 기술 → 관계 설정 → 엔터티 도출
- 엔터티 배치 → 관계명 기술 → 엔터티 도출
- 관계 설정 → 엔터티 도출 → 엔터티 배치
- 엔터티 도출 → 엔터티 배치 → 관계 설정 → 관계명 기술
정답 보기
4번 엔터티 도출 → 엔터티 배치 → 관계 설정 → 관계명 기술
엔터티를 먼저 찾고 배치한 뒤 관계를 긋고, 관계명 → 차수 → 필수 여부 순으로 적는다.
Q5. 업무가 바뀔 때마다 데이터 모델을 크게 고쳐야 하는 문제를 무엇이라 하나?
- 비유연성
- 중복
- 비일관성
- 무결성
정답 보기
1번 비유연성
비유연성. 데이터 정의를 데이터 사용 프로세스와 분리하면 작은 업무 변화에 모델이 흔들리지 않는다.
헷갈리기 쉬운 O·X
물리적 데이터 모델링은 특정 DBMS와 상관없이 진행한다.
정답 보기
X 특정 DBMS와 무관한 것은 논리적 모델링이다. 물리적 모델링은 실제 DBMS의 자료형·인덱스·저장 구조를 정한다.
데이터 모델링은 프로그램 개발 전에만 쓰이고, 업무를 분석하는 데는 쓰이지 않는다.
정답 보기
X 모델링은 업무를 분석하는 방법이기도 하고, 완성된 모델은 현업과 개발자의 의사소통 도구가 된다.
ERD를 처음 제안한 사람은 피터 첸이다.
정답 보기
O 1976년 피터 첸(Peter Chen)이 개체-관계 모델과 표기법을 발표했다.