본문 바로가기
  • 시 쓰는 개발자
CS 개념/DB

상향식 모델링 VS 하향식 모델링

by poetDeveloper 2024. 4. 11.

테이블 설계에 대한 고민이 항상 많았는데, 한번 정리가 필요할듯 하여 상향식, 하향식 테이블 설계를 정리해본다.

 

⭐상향식(Bottom-Up) 모델링

기획안에 나온 요구사항을 분석해 실체 엔터티를 먼저 도출하는 방식이다.
사용자 인터페이스와 이미 만들어진 데이터베이스를 기초해서 모델을 구성
  • 장점 : 근거가 명확하고 변경에 용이한 엔터티 설계가 나온다.
  • 단점 : 무에서 유를 창조해내는 방식이기에 시간이 비교적 오래 걸린다.

대형 개발 프로젝트는 헌행 시스템을 기반으로 이루어지므로 상향식 방법을 많이 사용한다. 기존에 존재히는 엔터티 중에서 중요 엔터티를 선별해 우선으로 분석을 시작하고, 엔티티 분석은 DB를 잘 아는 담당자와 이야기하며 시작된다. 업무 요구 사항이 거의 정리되고 문서화됐을 때 사용할 수 있다.

 

상향식 분석의 순서

① 요구사항 명세서를 보며 키워드 정하기.

② 속성과 동작으로 카테고리 나누기. 단, 모든 속성과 동작이 DB에 담겨야하는 것은 아니다.

③ 엔티티간 관계 매핑하기. 이때 관계라는 것은 속성을 의미한다.

 

 

⭐하향식(Top-Down) 모델링

엔티티가 도출되고 나서 관계를 정의하는 방식이다.
  • 장점 : 빠르게 엔티티를 도출할 수 있다.
  • 단점 : 수정과 변경에 용이하지 못하다.

하향식 방법론은 보통 엔티티 후보를 정하면서 모델링한다. 백지상태에서 모델링하기 때문에 다양한 자료를 수집하는 것이 중요한데, 가장 먼저 DB에 저장할 대상을 추출하는 작업이 요구된다.

 

하향식 분석의 순서

① 업무 흐름 파악

② 엔티티 정하기

③ 관계 매핑하기

 

 

 

 

참고자료

https://okky.kr/questions/581806

 

http://www.gurubee.net/lecture/3736

 

https://dataonair.or.kr/db-tech-reference/d-lounge/expert-column/?mod=document&uid=53541

 

https://yeongunheo.tistory.com/entry/DB-%EC%84%A4%EA%B3%84%ED%95%98%EB%8A%94-%EB%B2%95-feat-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EB%A7%81

'CS 개념 > DB' 카테고리의 다른 글

SQL과 NoSQL의 차이  (0) 2023.11.09