자격증/SQLD

[SQLD] - 데이터 모델링 이해하기(데이터 모델)

ro-jun 2025. 2. 21. 01:04
728x90
반응형
데이터 모델링이란?
  • 일정한 표기법을 사용하여 대상 데이터를 추상화, 단순화, 명확화시켜 표현하는 과정
  • 데이터베이스를 구축하기 전에 데이터 구조를 체계적으로 정리하는 작업
  • 데이터의 중복을 최소화하고, 일관성을 유지하며, 유연성을 극대화하는 것이 목표
데이터 모델링의 주의사항
  1. 중복 최소화: 동일한 데이터를 여러 번 저장하지 않도록 설계
  2. 유연성 최대화: 요구사항 변경 시에도 쉽게 확장 가능하도록 설계
  3. 일관성 유지: 데이터 간의 관계와 규칙을 일정하게 유지
데이터 모델링의 관점

데이터 모델링은 다음 세 가지 관점에서 진행됨.

 

- 대상(Entity)

  • 현실 세계의 객체(예: 고객, 상품, 주문 등)를 데이터로 표현

- 처리방법(Process)

  • 데이터의 흐름과 가공 방식 정의

- 상관관계(Relationship)

  • 데이터 간의 연관성을 명확히 정의

 

데이터 모델링의 단계

데이터 모델링은 개념적 모델링 → 논리적 모델링 → 물리적 모델링 순으로 진행됨.

1. 개념적 모델링 (Conceptual Modeling)

  • 비즈니스 요구사항을 기반으로 주요 엔티티(Entity)와 속성(Attribute)을 도출
  • EA(Enterprise Architecture) 수립 시 많이 활용됨
  • ERD(Entity-Relationship Diagram)와 같은 다이어그램으로 표현

2. 논리적 모델링 (Logical Modeling)

  • 개념적 모델을 바탕으로 키, 속성, 관계를 정의하여 DBMS 적용 가능한 모델로 변환
  • 정규화(Normalization)를 적용하여 데이터의 중복을 최소화
  • 주요 작업: 식별자 도출, 테이블 설계, 관계 정의

3. 물리적 모델링 (Physical Modeling)

  • 논리적 모델을 실제 DBMS에서 동작할 수 있도록 구현
  • 성능, 보안, 가용성 등을 고려하여 최적화
  • 인덱스(Index), 파티셔닝(Partitioning), 저장소(Storage) 등의 물리적 요소 포함
ERD(Entity-Relationship Diagram)란?
  • 논리적 데이터 모델의 구성 요소를 엔티티(Entity)로 정의하고,
  • 엔티티 간의 관계를 시각적으로 표현하여 데이터 스키마를 설계하는 방법

ERD 구성 요소

  1. 엔티티(Entity): 박스로 표현
  2. 속성(Attribute): 박스 내부에 리스트로 표현, 주식별자는 박스를 분할하여 강조
  3. 관계(Relationship): 엔티티 간 연결 선으로 표현
    • 식별자 관계: 실선
    • 비식별자 관계: 점선
  4. 카디널리티(Cardinality): 관계의 수량을 표현
    • 0개: O
    • 1개: I
    • 2개 이상: K
엔터티(Entity)란?
  • 독립적으로 식별 가능한 객체
  • 하나 이상의 속성을 가지며, 유일한 식별자를 포함해야 함
  • 인스턴스(실제 저장된 데이터)가 두 개 이상인 집합을 형성해야 함
  • 다른 엔터티와 최소 한 개 이상의 관계를 가져야 함

엔터티 분류

  1. 기본 엔터티: 독립적으로 생성되며 주식별자를 가짐
  2. 중심 엔터티: 주식별자를 상속받아 생성되며 업무의 핵심 역할을 함
  3. 행위 엔터티: 두 개 이상의 엔터티를 상속받아 생성되며, 데이터 변경이 잦고 데이터 양 변동이 심함
  4. 유형 엔터티: 물리적으로 존재하는 엔터티 (예: 직원, 제품)
  5. 개념 엔터티: 개념적으로 정의되는 엔터티 (예: 직책, 등급)
  6. 사건 엔터티: 이벤트나 행위를 나타내는 엔터티 (예: 주문, 결제)
  7. 교차 엔터티: M:N 관계를 해결하기 위해 생성되는 엔터티
속성(Attribute)과 도메인(Domain)
  • 속성: 엔터티의 하위 요소로, 데이터의 구체적인 정보를 나타냄
  • 속성은 의미상으로 더 이상 분리되지 않는 최소 데이터 단위
  • 도메인: 속성이 가질 수 있는 값의 범위 (데이터 타입과 크기 포함)
관계(Relationship)란?
  • 엔터티 간의 연관성을 정의하는 개념
  • 관계는 두 가지 유형으로 나뉨

 

  • 연관 관계 (Association Relationship)
    • 엔터티가 존재하는 것 자체로 연관성을 가짐
    • 예: 고객과 주문 관계
  • 의존 관계 (Dependency Relationship)
    • 특정 행위를 수행할 때만 연관성이 성립
    • 예: 고객이 상품을 구매할 때만 관계가 형성됨

 

식별자(Idntifier)란?
  • 엔터티 인스턴스를 고유하게 식별하는 속성
  • 식별자의 종류

 

  • 주식별자(Primary Key, PK)
    • 유일성, 최소성, 불변성, 존재성의 성질을 가짐
    • 한 엔터티에서 단 하나만 존재 가능
  • 보조식별자(Alternate Key, AK)
    • 유일한 값을 갖지만 대표성이 없어 관계 연결에는 사용되지 않음
  • 후보키(Candidate Key)
    • PK와 AK를 포함하는 모든 유일성을 가진 속성
  • 외부식별자(Foreign Key, FK)
    • 다른 엔터티에서 받아오는 식별자
식별자 관계 vs 비식별자 관계

 

 

  • 식별자 관계
    • 부모 엔터티의 식별자가 자식 엔터티의 주식별자 구성에 포함
    • ERD에서 실선으로 표현
  • 비식별자 관계
    • 부모 엔터티의 식별자가 자식 엔터티의 주식별자에 포함되지 않음
    • ERD에서 점선으로 표현
정리

 

  • 데이터 모델링은 데이터를 체계적으로 정리하는 과정이며, 개념적 → 논리적 → 물리적 모델링 순으로 진행됨
  • ERD를 통해 엔터티와 관계를 시각적으로 표현할 수 있음
  • 엔터티는 독립적으로 식별 가능한 객체이며, 속성과 관계를 가짐
  • 식별자 관계는 실선, 비식별자 관계는 점선으로 표현하여 관계를 명확히 구분함

 

 

728x90
반응형