데이터 모델링

박선규's avatar
Sep 30, 2024
데이터 모델링
💡
물리적 설계 방식
논리적 설계 방식
 
설계 도면에서는 :테이블을 엔터티라고하는데 속성, 인스턴스
건물이 실제로 지어질때는 테이블이라고 한다. 컬럼, 행

모델링의 정의

  • 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는과정이다.
  • 데이터베이스의 구조와 관계를 정의하며 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의
 

모델링의 특징

단순화

  • 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거 한다.
  • 단순화를 통해 현실세계를 이해하고 표현하기 쉬워진다.

추상화

  • 현실 세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정이다.
  • 다양한 현상을 일정한 양식의 표기법에 따라 표현 한다.

명확화

  • 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정이다.
  • 명확화를 통해 모델을 이해하는 이들의 의사소통을 원할히 할 수 있다
 

데이터 모델링 3가지 관점

데이터 관점

  • 업무를 고려하지 않고 데이터만 생각하는 단계로써 저장, 접근, 관리를 예시로 정의 하는 단계
ex) 업무, 주문, 결제 가 필요할거 같다.

프로세스 관점

  • 시스템이 어떤 작업을 수행하며, 이러한 작업들이 어떻게 조직되고 조정 되는지를 정의하는 단계
  • 데이터가 시스템 내에서 어떻게 흐르고 변환 되는지에 대해 확
주문 프로세스가 진행이 될 때 흐름을 생각하는 단계

데이터와 프로세스 관점

  • 데이터 관점과 프로세스 관점을 결합하여 시스템의 전반적인 동작을 이해하는 단계
  • 특정 프로세스가 어떤 데이터를 사용하는지, 데이터가 어떻게 생성되고 변경되는지를 명확하게 정
주문을 생성하고 결제를 하면 어떤 모델들이 필요한지 파악
 

데이터 모델링 유의점

중복

  • 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계 한다.

비유연성

  • 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의한다.
    • 수강TB에 과목명(수학)을 컬럼으로 만들면 새로운 과목(과학)이 추가 될 때 마다 컬럼이 추가 된다. (예시)
    • 그러므로 과목이라는 속성을 컬럼으로 잡게 되면 새로운 과목일 추가 될때 행이 추가 되므로 유연해진다.

비일관성

  • 데이터 베이스 내의 정보가 모순되거나 상반되는 내용이 저장되면 안된다.
 

데이터 모델링 3가지 요소

대상( Entity)

  • 업무가 관리하고 하는 대상(객체)
학생 Table

속성(Autribute)

  • 대상들이 갖는 속성( 하나의 특징으로 정의될 수 있는 것)
학생Table의 컬럼으러 들어 갈 것 들

관계(Relationship)

  • 대상들 간의 관계
학생Table과 강사Table과의 관계
 

데이터 모델링의 3단계

1. 개념적 모델링

  • 업무를 분석 뒤 업무의 핵심 엔터티를 추출하는 단계
  • 도출된 핵심 엔터티들관의 관계들을 표현하기 위해 ERD 작성
학과 시스템을 만든다고하면
학생, 강사, 교과목 등 엔터티를 추출

2. 논리적 모델링

  • 개념적 모델링의 결과를 토대로 세부 속성, 식별자 관계등을 표현하는 단계
  • 데이터 정규화 수행
학생 엔터티의 필요한 컬럼이 뭐가 있는지 파악 후 식별자가 뭐가 필요한지
다른 엔터티와의 관계가 어떻게 되는지 파악 하고 추가적으로 데이터를 어떻게 쪼갤지 정규화도 수행

3. 물리적 모델링

  • 논리 모델링 끝나면 이를 직접 물리적으로 생성하는 과정
  • 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성 등 파악
 
 
 
 
Share article

p4rksk