[SQL] 데이터 모델링의 이해 1

언교동·2025년 5월 20일

SQL

목록 보기
2/6
post-thumbnail

CHAPTER.1 데이터 모델의 이해

모델링이란?

  • 데이터베이스 모델링: 현실세계를 단순화하여 표현하는 기법

모델링의 특징

  1. 추상화(Abstraction)

    • 아이디어나 개념을 간략하게 표현하는 과정
    • 현실 세계를 일정한 형식으로 표현하는 것
  2. 단순화(Simplification)

    • 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현함
  3. 명확화(Clarity)

    • 불분명함을 제거하고 명확하게 해석할 수 있도록 기술함

모델링의 세 가지 관점

  1. 데이터 관점(What, Data)

    • 어떤 데이터들이 업무와 얽혀있는지
    • 그 데이터 간에는 어떤 관계가 있는지
  2. 프로세스 관점(How, Process)

    • 업무가 실제로 처리하고 있거나 처리해야 하는 일은 무엇인지
  3. 데이터와 프로세스의 상관 관점(Data vs Process, Interaction)

    • 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지

데이터의 품질 보장하기 위해 유의할 점

  • 중복(Duplication)

  • 비유연성(Inflexibility)

  • 비일관성(Inconsistency)

모델링의 세 가지 단계

  1. 개념적 데이터 모델링(Conceptual Data Modeling)

    • 업무 중심적, 포괄적인 수준의 모델링
  2. 논리적 데이터 모델링(Logical Data Modeling)

    • 데이터베이스 모델에 대한 key, 속성, 관계 등을 모두 표현
  3. 물리적 데이터 모델링(Physical Data Modeling)

    • 성능이나 가용성 등의 물리적인 성격을 고려하여 모델 표현

데이터의 독립성

사용자 입장에서는 필요한 데이터만 볼 수 있으면 되고 데이터베이스의 내부 구조에 대해서는 굳이 알 필요가 없다. 마찬가지로 DBA 입장에서는 애플리케이션에 영향을 주지않고 데이터베이스의 구조를 변경할 수 있어야 독립성이 보장된다 할 수 있다.

3단계 스키마 구조

  • 목적: 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식 분리
  1. 외부 스키마(External Schema)

    • 사용자의 관점
      - Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
  2. 개념 스키마(Concerptual Schema)

    • 통합된 관점
      - 데이터베이스에 저장되는 데이터들과 데이터들 간의 관계 표현
      - Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄
  3. 내부 스키마(Internal Schema)

    • 물리적 관점
      - 실질적인 데이터의 저장 구조, 컬럼 정의, 인덱스 등 물리적인 저장 구조 표현

3단계 스키마 구조가 보장하는 독립성

  1. 논리적 독립성

    • 개념스키마가 변경되어도 외부스키마에 영향 x
  2. 물리적 독립성

    • 내부 스키마가 변경되어도 외부 / 개념 스키마에 영향 x

ERD(Entity Relationship Diagram)

  • 시스템에 어떤 엔터티들이 존재하는지와 그들 간 어떤 관계가 있는지 나타내는 다이어그램

ERD 표기 방식

  1. Peter Chen

  2. IDEF1X(Integration Definition for Infomation Modeling)

  1. IE/Crow's Foot

    IE / Crow’s Foot 표기법

    기호의미
    ◻️ 네모엔터티 (Entity)
    ◯ 동그라미0개 (Optional)
    ┃ 세로선1개 (필수)
    < 갈고리2개 이상 (다수)
    ─ 실선부모 엔터티의 식별자가 자식 엔터티의 주식별자 (식별자 관계)
    - - - 점선부모 엔터티의 식별자가 자식 엔터티의 일반 속성 (비식별자 관계)
  1. Min-Max/ISO

    • 각 엔터티의 참여도를 좀 더 상세하게 나타냄

  2. UML

  3. Case * Method/Baker

ERD 작성 순서

  1. 엔터티 도출, 그리기
  2. 엔터티 배치
  3. 엔터티 간 관계 설정
  4. 관계명 기입
  5. 관계의 참여도 기입
  6. 관계의 필수/선택 여부 기입

0개의 댓글