CS
[SQLD] 데이터 모델의 이해
2026년 02월 09일 09:20
SQLD 1과목 – 데이터 모델의 이해
데이터 모델링이란?
데이터 모델링(Data Modeling) 은 현실 세계의 업무(비즈니스 프로세스) 와 데이터 요구사항을 추상화하고 구조화하여 표현하는 과정이다.
데이터 모델링의 목적
데이터 모델링의 핵심 목적은 다음과 같다.
- 데이터의 구조를 명확히 정의
- 데이터의 속성과 제약 조건을 규정
- 데이터 간 관계를 표현
- 데이터 중복, 오류, 혼란을 줄여 일관성 있는 관리 가능
👉 결과적으로 설계 기준을 명확히 하여 개발자·기획자·업무 담당자 간 의사소통을 돕는다.
데이터 모델링의 특징
① 단순화 (Simplification)
- 현실 세계의 복잡한 내용을 그대로 옮기지 않음
- 불필요한 세부사항 제거
- 핵심만 남겨 이해와 설명을 쉽게 함
② 추상화 (Abstraction)
- 현실 세계를 일정한 규칙·표기법으로 표현
- 같은 방식으로 표현하면 누구나 비슷하게 이해 가능
③ 명확화 (Clarity)
- 애매한 표현을 줄이고 정확하게 정의
- 오해 없는 의사소통 가능
데이터 모델링의 3가지 요소
데이터 모델링은 아래 3요소로 구성된다.
① 엔터티 (Entity)
- 업무에서 관리해야 할 사물, 사람, 개념
- 예: 회원, 주문, 상품
② 속성 (Attribute)
- 엔터티가 가지는 특징이나 정보
- 값으로 표현 가능
- 예: 회원명, 주문일자, 가격
③ 관계 (Relationship)
- 엔터티 간의 연관성
- 예: 회원은 주문을 한다
데이터 모델링의 3가지 관점
① 데이터 관점
- 데이터가 어떻게 저장·구조화·관리되는지에 초점
② 프로세스 관점 ⭐
- 시스템이 무슨 일을 하는지
- 데이터가 어떻게 처리·변환·이동되는지
- 업무 흐름 중심
③ 데이터 + 프로세스 관점
- 데이터와 업무 흐름을 통합적으로 이해
- 프로세스가 어떤 데이터를 생성·변경·사용하는지 정의
데이터 모델링 시 유의점
① 중복 (Duplication)
- 동일 데이터는 한 곳에서만 관리
- 중복 저장 → 관리 비용 증가, 오류 발생
② 비유연성 (Inflexibility)
- 업무 변경 시 테이블 구조를 계속 수정하는 구조 ❌
- 데이터 구조는 업무 프로세스와 분리해서 설계
③ 비일관성 (Inconsistency)
- 데이터 간 모순 발생
- 중복이 없어도
- 업데이트 오류
- 규칙 미정의 로 발생 가능
데이터 모델링의 3단계 ⭐⭐
① 개념적 모델링
- 업무 중심, 전사적 관점
- 핵심 엔터티 도출
- 추상화 수준 가장 높음
- ERD 초안 작성
② 논리적 모델링 ⭐
- 속성, 식별자, 관계를 구체적으로 정의
- 정규화 수행
- 재사용성과 표준화 가능
- 쿼리 구조도 재사용 가능
③ 물리적 모델링
- 논리 모델을 실제 DB 구조로 구현
- 성능, 저장 구조, 보안 고려
- 추상화 수준 가장 낮음
스키마와 3단계 구조
스키마(Schema)란?
- 데이터베이스에 저장되는 데이터의 구조와 제약 조건
- 메타데이터
스키마 3단계 구조
| 구분 | 설명 |
|---|---|
| 외부 스키마 | 사용자·응용프로그램 관점(View) |
| 개념 스키마 | DB 전체의 논리적 구조 |
| 내부 스키마 | 물리적 저장 |
스키마 독립성
- 논리적 독립성
- 개념 스키마 변경 → 외부 스키마 영향 ❌
- 물리적 독립성
- 내부 스키마 변경 → 개념/외부 영향 ❌
ERD(Entity Relationship Diagram)
- 엔터티와 관계를 시각적으로 표현
- Peter Chen 제안
- 실무에서는 IE / Barker 표기법 사용
