데이터 모델링(Data Modeling)이란?

Daehyeon Yun·2023년 8월 3일

SQL

목록 보기
2/4
post-thumbnail

데이터 모델링(Data Modeling)의 이해

  1. 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위하여 추상화 시키는 것이다.
  2. 데이터 모델링을 진행하려면 고객과의 의소소통을 통해 고객의 업무 프로세스를 이해해야 한다.
    => 업무 프로세스를 이해하였다면 데이터 모델링 표기법을 사용하여 모델링을 해야한다.
  3. 데이터 모델링은 고객이 쉽게 이해할 수 있어야 한다.
  4. 데이터 모델링은 고객의 업무 프로세스추상화하고, 소프트웨어가 분석, 설계하며 점점 견고해진다.
  5. 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다.
    => 정의된 비즈니스 규칙을 데이터 모델로 표현

데이터 모델링(Data Modeling)의 특징

  • 데이터 모델링추상화해야한다. 데이터의 공통적인 특징을 찾고 최대한 간략하게 표현해야한다.
  • 데이터 모델링단순화해야한다. 복잡하지 않고 누구나 쉽게 이해할 수 있어야 한다.
  • 데이터 모델링명확해야한다. 데이터의 해석이 모호하지 않고 명확하게 해석되어야 한다.

추상화(Abstraction) <-> 현실세계를 간략하게 표현하는 것
단순화(Simple) <-> 누구나 쉽게 이해할 수 있도록 표현하는 것
명확성(Clarity) <-> 의미가 명확해야하며 단 한 가지의 의미를 가져야 하는 것

데이터 모델링(Data Modeling) 단계

: 데이터 모델링은 개념적 -> 논리적 -> 물리적 단계로 진행된다.

개념적 모델링(Conceptual Data Modeling)

  • 엔티티(Entity)와 속성(Attribute)를 도출하고 ERD(Entity RelationShip Diagram)를 작성한다.
  • 기업의 비즈니스 프로세스를 분석하고 기업 전체에 대해 데이터 모델링을 수행하는 것
  • 복잡하게 표현하지 않고 중요한 관점을 모델링한다.
  • 기술적인 용어는 가급적 사용하지 않는다.

개념적 모델링은 전사적 관점에서 데이터를 모델링한다. 또한 추상화 수준이 가장 높은 모델링이다.
따라서 계층, 네트워크, 관계형 모델에 관계없이 업무 측면의 관점으로 모델링을 진행한다.

논리적 모델링(Logical Data Modeling)

  • 개념적 모델링논리적 모델링으로 변환하는 작업
  • 식별자를 도출하고 필요한 모든 `관계(릴레이션, Relation) 정의
  • 정규화를 수행하여 데이터 모델링의 독립성을 확보

논리적 모델링은 데이터 정규화를 통해 재사용성을 높인다.
이는 특정 데이터베이스 모델에 종속되며 식별자를 정의하고 관계, 속성등을 모두 표현한다.

물리적 모델링(Physical Data Modeling)

  • 데이터베이스를 실제 구축하는 작업. (Table, Index, Function etc..)
  • 성능, 보안, 가용성 등을 고려하여 구축

물리적 모델링은 구축할 데이터 베이스 관리 시스템(DBMS)테이블(Table), 인덱스(Index) 등을 구축하는 단계이다.
이때, 성능, 보안, 가용성 등을 고려하여 구축한다.

데이터 모델링(Data Modeling)의 관점(View)

  • 데이터 : 비즈니스 프로세스에서 사용되는 데이터를 의미. / 구조분석, 정적분석
  • 프로세스 : 비즈니스 프로세스에서 수행되는 작업을 의미. / '시나리오 분석, 도메인 분석, 동적 분석
  • 데이터와 프로세스 : 프로세스데이터 간의 관계를 의미. / CRUD(Create Read Update Delete) 분석

Reference

  • 이기적 SQLD 이론서+문제집
profile
열심히 살아야지

0개의 댓글