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 표기법 사용