free your time

서비스기획, 항공, 장기렌트

데이터 모델링 핵심 개념 정리

데이터 모델링은 데이터를 체계적으로 구조화하여 데이터베이스를 설계하는 과정입니다. 이를 통해 업무에 필요한 데이터를 효과적으로 저장하고, 관리하며, 활용할 수 있도록 합니다.


목차

  1. 데이터 모델링이란?
  2. 데이터 모델링의 세 가지 주요 개념
  3. 엔터티(Entity)와 속성(Attribute)의 종류
  4. 속성(Attribute)의 유형
  5. 관계(Relationship)의 주요 개념
  6. 데이터 모델링의 단계
  7. 정규화(Normalization)
  8. ERD (Entity-Relationship Diagram)
  9. 데이터 모델링 관련 기타 개념

1. 데이터 모델링이란?

데이터 모델링은 데이터를 체계적으로 구조화하여 데이터베이스를 설계하는 과정입니다. 이를 통해 데이터의 **무결성(Integrity), 일관성(Consistency), 재사용성(Reusability)**을 보장할 수 있습니다.

데이터 모델링을 수행할 때는 세 가지 관점이 필요합니다.

  1. 데이터 관점: 어떤 데이터가 존재하는지 분석 (어떤 정보가 필요한가?)
  2. 프로세스 관점: 업무에서 수행하는 일(프로세스)이 무엇인지 분석 (업무의 흐름은?)
  3. 데이터와 프로세스의 상관 관점: 업무가 데이터를 어떻게 활용하는지 분석 (데이터와 프로세스의 관계는?)

2. 데이터 모델링의 세 가지 주요 개념

데이터 모델링에서 중요한 개념은 다음과 같습니다.

  1. 개체(Entity) = 정보의 대상
    • 업무에서 관리해야 하는 주요 데이터 단위
    • 예: 고객, 주문, 제품
  2. 속성(Attribute) = 개체의 특징
    • 개체가 가지는 정보
    • 예: 고객의 이름, 전화번호, 주소
  3. 관계(Relationship) = 개체 간의 연결
    • 개체 간의 연관성
    • 예: 고객은 여러 개의 주문을 할 수 있다 (1:N 관계)

3. 엔터티(Entity)와 속성(Attribute)의 종류

① 엔터티(Entity)의 분류

  • 발생 시점 기준
    • 기본 엔터티(Basic Entity) → 가장 근본적인 개체 (예: 고객, 상품)
    • 중심 엔터티(Main Entity) → 업무의 중심이 되는 개체 (예: 주문)
    • 행위 엔터티(Active Entity) → 이벤트성 개체 (예: 거래 기록)
  • 특징 기준
    • 반드시 업무에서 필요해야 함
    • 유일한 식별자가 있어야 함
    • 속성을 2개 이상 가져야 함
    • 엔터티는 속성이 반드시 필요함 (예: 고객 엔터티에 이름, 연락처가 필요)

4. 속성(Attribute)의 유형

속성은 개체의 특징을 나타내는 데이터입니다.

  • 기본 속성 (Basic Attribute): 가장 기본적인 속성 (예: 고객 이름)
  • 설계 속성 (Designed Attribute): 특정 목적을 위해 생성된 속성 (예: 회원 등급)
  • 관계 속성 (Associative Attribute): 개체 간의 관계에서 생성된 속성
  • 파생 속성 (Derived Attribute): 다른 속성 값을 계산하여 생성된 속성 (예: 주문 금액 = 단가 × 수량)

5. 관계(Relationship)의 주요 개념

① 관계의 기수성 (Cardinality)

  • 1:1 관계 – 한 고객이 하나의 주문만 가질 수 있음
  • 1:N 관계 – 한 고객이 여러 개의 주문을 할 수 있음
  • N:M 관계 – 학생과 강의처럼 여러 개체 간 다대다 관계

이때 **기수성(Cardinality)**이 관계의 유형을 결정합니다.

② 관계 정의 시 고려할 요소

  • 두 개체 사이의 연관 관계가 존재하는가?
  • 업무 규칙에 따라 관계가 유지되는가?
  • 두 개체 간 정보 조합이 발생하는가?

6. 데이터 모델링의 단계

데이터 모델링은 4단계로 이루어집니다.

  1. 개념적 데이터 모델링 (Conceptual Modeling)
    • 업무의 주요 개체와 관계를 정의
    • ERD(Entity-Relationship Diagram) 작성
  2. 논리적 데이터 모델링 (Logical Modeling)
    • 개체의 속성을 정의하고 정규화를 수행
  3. 물리적 데이터 모델링 (Physical Modeling)
    • 데이터베이스에서 테이블을 실제로 생성
  4. 추상적 데이터 모델링 (Abstract Modeling)
    • 기업 전체의 데이터 구조를 설계 (EA 수준)

7. 정규화(Normalization)

정규화는 데이터의 중복을 제거하고, 무결성을 유지하기 위한 과정입니다.

  • 1차 정규화: 모든 속성이 원자값을 가져야 함 (예: 전화번호 필드를 여러 개로 분리)
  • 2차 정규화: 부분 종속성 제거 (기본 키의 일부에 종속된 속성 제거)
  • 3차 정규화: 이행 종속성 제거 (A → B, B → C이면 A → C 제거)

8. ERD (Entity-Relationship Diagram)

ERD는 **개체(Entity), 관계(Relationship), 속성(Attribute)**을 시각적으로 표현하는 다이어그램입니다.

  • 개체(사각형)
  • 관계(다이아몬드)
  • 속성(타원형)
  • 기본 키(밑줄 표시)

9. 데이터 모델링 관련 기타 개념

  • 식별자의 유형
    • 본질 식별자: 개체 고유의 값 (예: 주민등록번호)
    • 인조 식별자: 시스템에서 생성한 ID (예: 주문번호)
  • 관계의 유형
    • 식별 관계(Identifying Relationship): 자식 엔터티가 부모의 키를 포함해야 함
    • 비식별 관계(Non-Identifying Relationship): 자식 엔터티가 부모의 키를 포함하지 않아도 됨