SQL - Modeling

이제일·2021년 8월 4일
0

SQL

목록 보기
3/4
post-thumbnail

데이터 모델링

현실 세계를 데이터베이스로 표현하기 위해 추상화 및 정의하는 것

논리적인 DB를 구성하기 위해 요구를 이해하고 그를 바탕으로 모델의 기능과 성능적인 측면에서 효율적인 작성이 필요하다.
이는 특정 시스템의 데이터베이스에 반영하는 작업을 포함한다.


주요 특징

  • 추상화
    공통적인 특징을 간략히 표현한다.
  • 단순화
    누구나 이해하기 쉽게 단순히 표현한다.
  • 명확성
    의미가 모호하지 않고 명확하게 해석 되어야 한다.

모델링 과정

1. 개념적 모델링

  • 전사적 관점에서 기업의 데이터를 모델링한다.
  • 작업을 위해 어떤 개념들이 존재하는지 파악하고, 개념 간의 상호작용을 판단한다.
  • E-R다이어그램에서 핵심 엔터티와 속성을 도출

2. 논리적 모델링

  • DB 프로세스의 논리적 구조와 규칙을 명확하게 표현하는 과정이다.
  • 시스템 구축을 위해 필요한 사항을 모두 정의한다.
  • 이때 정규화를 통해 일관성을 확보하고 중복을 제거한다.
  • E-R다이어그램에서 식별자 도출 및 모든 릴레이션 정의

3. 물리적 모델링

  • DB를 실제로 구축하는 과정이다.
  • 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대해 고려하여 설계하고 구현한다.
  • 성능, 보안, 가용성등을 고려한다.

관점

  • 데이터(What)
    어떤 데이터와 관계있는지, 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법
  • 프로세스(How)
    해당 데이터를 가지고 무엇을 해야하는지를 모델링하는 방법
  • 데이터와 프로세스(Data vs Process)
    데이터를 가지고하는 일에 따라 데이터가 어떻게 영향을 받고 있는지 모델링하는 방법

고려사항

  • 모델의 독립성
    독립성을 확보해 업무 변화에대해 능동적으로 대응
    확보를 위해서는 정규화등을 통해 중복된 데이터 제거

  • 요구사항의 표현
    고객의 요굿하항을 간결하고 명확하게 표현해 의사소통이 원할히 이루어지도록 한다.
    데이터 모델을 건축물에 비교하면 건축물의 설계 도면이다.

  • 데이터 품질 확보
    DB 구축 시 데이터 표준을 정의하고 표준 준수율을 관리해야한다.
    데이터가 모순되지 않게 데이터와의 관계를 명확히 정의하거나 목적을 정확히 이해한다.

profile
세상 제일 이제일

0개의 댓글