-
[SW 정글 100일차] 나만의 무기 8일차 (관계형 데이터 모델링)기타/SW 사관학교 정글 2021. 11. 11. 03:36
오늘은 나의 1차 역할 중 하나인 관계형 데이터 모델링을 진행했다.
혼자가 아닌 백엔드팀 팀원 중 한 명과 같이 진행을 했고 관계형 데이터 모델링은 처음이라 어떠한 방식으로 진행되는지를 알기위해 생활코딩 강의를 정주행하고 감을 잡았다.
업무파악->개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링
1. 업무파악
일단은 우리가 어떠한 데이터들을 DB에 구축되어야하는지 파악하는 작업을 했다.
오후 2시에 진행된 화면구성 및 진행방향 회의를 가진 것과 우리가 처음 만든 와이어프레임을 참고하며 무엇을 해야하는지 팀원과 의논했다.
회원가입 시에는 어떠한 데이터가 저장될지, 개인생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 단체챌린지생명체보유화면에서는 어떠한 데이터를 보여줘야할지, 인증 절차 시에는 어떠한 데이터가 오고갈지 등,,,
2. 개념적 데이터 모델링
업무파악을 통해 나온 개념들(데이터)를 바탕으로 하여 Entitiy, attribute, relation을 생각하며 draw.io 툴을 사용하여 ERD를 그렸다.
3. 논리적 데이터 모델링
개념적 데이터 모델링을 통해 나온 ERD를 바탕으로 논리적 데이터 모델링을 진행했다.
entity는 table이 되고 entity가 가지는 attribute는 table의 column이 된다.
그리고 attribute가 어떠한 type을 가지는지, 속성(Not Null, unsigned data, PK 등)을 정해줘야한다.
또한, 각각의 entitiy들이 1:1인지, 1:N인지, N:M 관계를 가지고 있는지를 개념적 데이터 모델링에서 생각했으므로 외래키는 어떻게 가져야하는지 생각했다.
요즘은 툴들이 다 좋아서 그런지 entity에 무슨 관계인지만 선으로 맺어주면 알아서 외래키가 생성된다.
논리적 데이터 모델링을 그리기 위해 사용한 툴은 mysql workbench에서 제공하는 기능을 사용했다.
정글에 들어오기 전에 MySQL을 사용하기는 했지만 이렇게 데이터 모델링을 직접 짜본 경험이 없어서 생각할 것이 많지만 결과물을 보니 성취감은 있었다.
기획 변경에 따라 데이터 모델링은 바뀔 가능성은 있지만 일단은 이것을 기본형태로 가는 것으로
'기타 > SW 사관학교 정글' 카테고리의 다른 글
AWS RDS time_zone 변경 (0) 2021.11.13 [SW 정글 101일차] 나만의 무기 9일차 (API 설계 시작) (0) 2021.11.12 [SW 정글 99일차] 나만의 무기 7일차 (2차 발표) (0) 2021.11.09 [SW 정글 98일차] 나만의 무기 6일차 (나의 1차 역할) (0) 2021.11.09 [SW 정글 97일차] 나만의 무기 5일차 (사용할 기술 알아보기) (0) 2021.11.07