[웹 서비스 시작부터 끝까지] #1 모델링 (1) 데이터 모델링을 한 이유

Jaeyoo (유재형)·2022년 3월 10일
0
post-thumbnail

본격적으로 프로젝트를 하기로 했다.
내가 데이터 모델링을 한 이유데이터 모델링의 순서, 그리고 각 과정들을 이번 시리즈에 적어보려고 한다.


데이터 모델링을 한 이유


1. 문서화
: 지금까지 프로젝트를 여러가지 해보았는데 프로젝트의 시작부터 문서화를 하지않은 것에대해 아쉬운 부분이 있어서 이번 프로젝트부터는 프로젝트의 시작인 데이터 모델링부터 문서화 해보았다.

2. 역할 분담과 프로젝트 이해
: 프로젝트를 구체적으로 명세화 해서 팀원과 역할을 나누기 쉽고 프로젝트 전체에 대한 구조를 보기쉽게하기위해 데이터 모델링을 진행했다.

3. 성능 최적화
: 이번 프로젝트에서는 부하 테스트를 진행해 성능을 최적화하는 작업까지 해보고싶다. 성능을 최적화 하기위해 정규화와 역정규화를 해야하고 그러기 위해서는 데이터 모델링은 필수다.

4. 구현에 집중
: 이전 프로젝트들에서는 설계와 구현을 따로 정하지않고 계획없이 시작했었는데 이번에는 데이터 모델링을 통해 미리 구현사항들과 UI를 정해놓고 코드 구현에 집중을 하고싶었다.


데이터 모델링 순서


데이터 모델링의 순서는 아래와 같다.

업무파악 → 개념적 모델링 → 논리적 모델링 → 물리적 모델링

1. 업무파악

  • 어떤 것을 만들고 싶은지 정의
  • UI 를 그려보면 쉽게 파악 할 수 있다.

2. 개념적 데이터 모델링

  • 개념들이 어떻게 상호작용하는지
  • E-R 다이어그램 을 그려서 파악한다.

3. 논리적 데이터 모델링

  • E-R 다이어그램에서 관계형 데이터 모델로 전환한다.
  • Entity → Table, Attribute → Column, Relation → PK, FK로 변환하면된다.
  • 정규화를 진행한다.

4. 물리적 데이터 모델링

  • 논리적 모델을 특정 DB에 맞게 설계
  • 여기서 중요한것은 성능이다.
  • 성능 최적화를 위해 역정규화를 한다.

이러한 순서에 따라 프로젝트의 데이터 모델링을 진행해보겠다.

profile
기록과 반복

0개의 댓글