데이터 모델링

업무에 필요로 하는 데이터를 시스템 구축 방법론에 의해 분석/설계하여 DB를 구축하고 개발 및 데이터 관리에 사용

데이터 모델링의 특징

  • 추상화 : 현실 세계를 간략하게 표현
  • 단순화 : 누구나 쉽게 이해할 수 있도록 표현
  • 명확화 : 대상의 애매모호함을 제거하여 정확하게 표현 (한 가지 의미로 해석되도록 표현)

모델링 관점

  • 데이터 관점 : 업무가 어떤 데이터와 관련이 있으며, 무슨 관계인지에 대해 모델링 (What, Data)                                                                   → 구조 분석, 정적 분석
  • 프로세스 관점 : 업무가 실제로 하고 있는 일은 무엇이며 어떻게 해야 하는지에 대해 모델링 (How, Process)                                                 → 시나리오 분석, 도메인 분석, 동적 분석
  • 데이터와 프로세스의 상관 관점 : 업무를 처리하는 방법에 따라 어떤 영향을 받는지에 대해 모델링 (Interaction)                                           → CRUD (Create Read Update Delete) 분석

현실세계와 데이터베이스 사이의 모델

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

  • 엔티티와 속성을 도출하고, 개념적 ERD를 작성하는 단계
  • 추상화, 업무중심적, 포괄적, 개념적

2. 논리적 데이터 모델링 (Logical Data Modeling)

  • 특정 DB모델에 종속되며, 식별자를 정의하고 관계, 속성 등을 표현하는 단계
  • 정규화, 재사용성, 신뢰성

3. 물리적 데이터 모델링 (Physical Data Modeling)

  • 성능, 보안, 가용성 등을 고려하여 데이터베이스를 실제로 구축하는 단계
  • 테이블, 인덱스, 함수 등을 생성

ERD

  • 테이블간 서로 상관 관계를 그림으로 도식화한 것
  • 현실 세계의 데이터는 엔티티(Entity), 관계(Relationship), 속성(Attribute)으로 모두 표현 가능

ERD 작성 절차

  1. 엔티티 도출하고 그리기
  2. 엔티티 배치
  3. 엔티티 간의 관계 설정
  4. 관계 서술
  5. 관계 참여도 표현
  6. 관계의 필수 여부 표현

데이터 모델링 유의점

  1. 데이터 모델의 독립성
    • 독립성이 확보되어야 업무 변화에 능동적인 대응 가능
    • 정규화를 통해 중복된 데이터를 제거해야 함
  2. 고객 요구사항 표현
    • 데이터 정합성을 유지하며 정보 요구 사항을 이해하고 정확,간결하게 표현해야 함
  3. 데이터 품질 확보
    • 중복 (Duplication) : 여러 장소에 같은 정보를 저장하지 않아야 함
    • 비유연성 (Inflexibility) : 사소한 업무변화에 데이터모델이 수시로 변경되지 않도록 해야 함                                                                              → 데이터의 정의를 데이터의 사용 프로세스와 분리하여 유연성을 높임
    • 비일관성 (Inconsistency) : 모델링 시 데이터간 상호 연관관계를 명확히 정의해야 함

데이터 독립성

특정 스키마를 변경해도 상위 수준의 스키마 정의에 영향을 주지 않는 성질

 

+ Recent posts