데이터 모델링 & ERD

wjd15sheep·2025년 6월 7일

데이터베이스

목록 보기
6/6

데이터 모델링(Data Modeling)

데이터 모델링은 현실 세계의 업무 흐름과 정보를 데이터베이스로 표현하기 위해 추상화하는 과정입니다.
고객과의 의사소통을 통해 업무 프로세스를 이해하고 이를 점차 구체화하여 비즈니스 규칙을 정의하며, 이러한 규칙을 데이터 모델로 정리하는 것이 바로 데이터 모델링입니다.

데이터 모델링의 특징

  • 추상화(Abstraction) : 현실 세계를 간략하게 표현한다.
  • 단순화(Simplification) : 누구나 쉽게 이해할 수 있도록 표현한다.
  • 명확성(Clarity) : 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.

데이터 모델링의 단계

🟥 개념적 모델링 (Conceptual Data Modeling)

  • 고객의 비즈니스 전반을 분석하여 가장 추상적인 수준에서 모델링을 수행합니다.
  • 핵심 개체(Entity)와 속성(Attribute)을 도출하고, 개념적 ERD(Entity Relationship Diagram)를 작성합니다.
  • 가장 높은 추상화 수준에서 수행됩니다.

예: "고객은 여러 개의 주문을 한다" → '고객'과 '주문' 엔터티 도출

🟧 논리적 모델링 (Logical Data Modeling)

  • 개념적 모델링을 기반으로, 실제 데이터 구조에 가까운 형태로 모델링합니다.
  • 식별자(Primary Key) 설정, 관계(Relationship) 정의, 정규화(Normalization) 등을 수행하여 데이터의 중복과 종속성을 제거합니다.

예: 고객 테이블과 주문 테이블을 1:N 관계로 정의하고, 외래 키(Foreign Key) 설정

🟩 물리적 모델링 (Physical Data Modeling)

  • 실제 사용할 데이터베이스 시스템(DBMS)에 맞춰 테이블, 인덱스, 제약 조건 등을 설계합니다.
  • 성능, 보안, 가용성을 고려하여 구현 가능한 형태로 구축합니다.

예: MySQL에서 InnoDB 엔진을 사용해 테이블 생성 및 인덱스 설정

데이터 모델링의 관점

  • 데이터 관점 : 비즈니스에서 어떤 데이터가 사용되는지를 분석 (구조적, 정적 분석)
  • 프로세스 관점 : 어떤 작업이 수행되는지를 분석 (도메인 분석, 시나리오 분석)
  • 데이터와 프로세스의 통합 : 데이터와 작업 간의 관계를 파악 (CRUD 분석)

ERD (Entity Relationship Diagram)

ERD는 1976년 피터 첸(Peter Chen)이 제안한 ER 모델(ERM)에 기반한 표기법으로,
엔터티(Entity)와 그 관계(Relationship)를 시각적으로 표현한 모델링 기법입니다.
데이터베이스 설계의 기본이 되는 구조입니다.

ERD 작성 절차

  1. 엔터티를 도출
    • 관리해야 할 객체 집합을 추출합니다.
    • 예: 고객, 주문, 제품 등
      엔터티 집합 도출
  1. 엔터티를 배치

    • 시각적으로 중요한 엔터티를 좌측 상단에 배치하면 가독성이 좋습니다.
  2. 엔터티 간의 관계 설정

    • 두 엔터티 사이의 관계를 선으로 연결합니다.
      엔터티 간의 관계를 설정
  3. 관계명을 명시

    • 관계의 의미를 명확히 표현합니다.
      관계명을 서술
  4. 관계 참여도(카디널리티) 표현

    • 예: 고객 1명이 여러 주문을 할 수 있음 → 1:N
  5. 관계 필수 여부 표현

    • 선택적 관계인지, 필수 관계인지 구분합니다.
      관계명을 서술

ERD 작성 시 고려사항

  • 중요한 엔터티는 좌측 상단에 배치
  • 너무 많은 선이나 복잡한 구조는 피하고 가독성을 유지
  • 동일한 이름의 속성/엔터티 중복 주의

마무리 + Tip

정규화는 논리적 모델링에서 중요한 개념입니다.
예: 제1정규형은 반복 속성 제거, 제2정규형은 부분 함수 종속 제거 등
→ 성능 고려 시 일부 비정규화를 하기도 합니다.

ERD 작성 도구 추천:

  • ERDCloud
  • dbdiagram.io
  • MySQL Workbench 등

[참고]

  • 2024 시대에듀 유선배 SQL개발자(SQLD) 과외노트
profile
성장 위해 노력하는 웹 개발자 주니어

0개의 댓글