본문 바로가기

Programming/DataBase

[DataBase]데이터 모델링에 대해 알아보자

728x90
반응형




1. 데이터 모델링[Data Modeling]이란 무엇일까?


  • 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해서 추상화 하는 것이다.
  • 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다.
  • 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다.
  • 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다.
  • 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어가 분석 및 설계하면서 점점 더 상세해진다.
  • 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의하고, 정의된 비즈니스 규칙을 데이터 모델로 표현한다.


2. 데이터 모델링의 특징


  • 데이터 모델링은 추상화해야한다. 추상화는 공통적인 특징을 찾고 간략하게 표현한다.

  • 단순화해야한다. 복잡한 문제를 피하고 누구나 이해할 수 있게 표현한다.

  • 명확해야한다. 의미적 해석이 모호하지 않고 명확하게 해석되어야 한다.


3. 데이터 모델링 단계


  • 데이터 모델링은 개념적 모델링, 논리적 모델링, 물리적 모델링의 단계로 이루어져 있다.

   - 개념적 모델링

      ▶ 기업의 비즈니스 프로세스를 분석하고 기업 전체에 대해서 데이터 모델링을 수행

     ▶ 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링

     ▶ 업무관점에서 모델링하며 기술적인 용어는 가급적 사용하지 않음.

     ▶ 엔티티(Entity)와 속성(Attribute)을 도출하고 개념적 ERD(Entity Relationship Diagram)를 작성


  - 논리적  모델링

     ▶ 개념적 모델링을 논리적 모델링으로 변환하는 작업

     ▶ 식별자를 도출하고 필요한 모든 릴레이션을 정의

     ▶ 정규화를 수행해서 데이터 모델의 독립성을 확보


  - 물리적 모델링

     ▶ 데이터베이스를 실제 구축한다. 테이블, 인덱스, 함수등을 생성

     ▶ 성능, 보안, 가용성을 고려해서 구축


3-1 데이터 모델링 관점


관점(View)

내용

데이터

비즈니스 프로세스에서 사용되는 데이터

구조분석, 정적 분석

프로세스

비즈니스 프로세스에서 수행하는 작업

시나리오 분석, 도메인 분석, 동적 분석

데이터와 프로세스

프로세스와 데이터 간의 관계를 의미

CRUD(Create, Read, Update, Delete) 분석



반응형