1 분 소요

데이터 모델링


데이터 모델링이란

  • 데이터 모델링은 데이터의 효율적인 관리와 사용을 위해 데이터를 구조화하고 조직화 하는 것이다.
  • 데이터 모델링을 하기 위해선 클라이언트의 업무 프로세스를 이해해야한다.
  • 현실세계를 데이터베이스로 표현 하기 위한 모든 과정이라고 볼 수 있다.

데이터 모델링의 특징

  • 추상화

    공통적인 특징을 찾고 간략하게 표현하는 과정이다.

  • 단순화

    복잡한 문제를 피하고 누구나 쉽게 이해할 수 있게 표현한다.

  • 명확성

    명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.

예를들어 현실 세계의 윤정호를 데이터베이스로 표현한다고 했을 때 위의 특징들을 이용하여 효율적으로 윤정호를 표현 할 수 있다.

ex) 키 179cm, 몸무게 84kg, 경기도 수원 거주

데이터 모델링 단계

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

    • 고객의 비즈니스 프로세스와 규칙을 분석하여 업무 전체에 대해 모델링을 수행한다.

    • 복잡하거나 중요하지 않은 부분은 최대한 배제한다.

    • 업무적 관점으로 모델링하며 기술적인(어려운) 용어는 사용하지 않는다.

    • 가장 추상화 수준이 높은 모델링 단계이다.

    • Entity와 속성을 도출하고 개념적 ERD를 작성한다.

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

    • 개념적 모델링을 논리적으로 변환하는 과정이다.

    • 식별자를 도출, 필요한 모든 관계를 정의한다.

    • 정규화를 수행하여 독립성을 확보한다.

    • 정규화를 통해 재사용성을 높인다.

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

    • 데이터 베이스를 실제로 구축하는 단계(테이블, 인덱스, 함수 등)
    • 성능 보안 가용성을 고려해서 구축한다.

ERD(Entity Relationship Diagram)

개체-관계 모델이이며, 데이터 모델링을 위해 데이터 모델을 그림으로 표기하기 위한 표시법이다.

Entity와 Entity 간의 관계를 정의하며 개념적 모델링 단계에서 시행한다.

ERD 작성절차

  1. Entity를 도출하고 그린다.

    • 업무에서 관리해야 하는 집합을 도출한다.
  2. Entity를 배치한다.

    • Entity를 도출한 후 배치한다.
    • 중요 Entity를 왼쪽 상단에 배치한다.
  3. Entity간의 관계를 설정한다.

  4. 관계명을 서술한다.

    • 엔터티 간의 어떤 행위나 존재가 있는지 표현한다.
  5. 관계 참여도를 표현한다.

    • 관계 참여도는 한 개의 Entity와 다른 Entity 간의 참여하는 관계 수를 의미한다.
  6. 관계의 필수 여부를 표현한다.

    • 관계에 있어서 반드시 존재해야하는 것을 표시한다.

ERD기호

ERD예시

주의사항

  • 중요한 Entity를 가급적 왼쪽 상단에 배치한다.
  • ERD는 이해가 쉬워야 하고 최대한 단순하게 표시하여야 한다.

데이터 모델링 고려사항

  1. 데이터 모델의 독립성
    • 독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있다.
    • 독립성을 확보하기 위해서는 중복된 데이터를 제거해야 한다.
    • 데이터 중복을 제거하는 방법 = 정규화
  2. 고객 요구사항의 표현

    • 데이터 모델링으로 고객과 데이터 모델러 간에 의사소통을 할 수 있어야 하므로, 고객의 요구 사항을 간결하고 명확하게 표현해야 한다.
  3. 데이터 품질 확보
  • 데이터 베이스 구축시에 데이터 표준을 정희하고 표준 준수율을 관리해야 한다.
  • 데이터 표준을 확보해야 데이터 품질을 향상시킬 수 있다.

댓글남기기