Inflearn brand logo image

인프런 커뮤니티 질문&답변

김현우님의 프로필 이미지
김현우

작성한 질문수

비전공자도 이해할 수 있는 DB 설계 입문/실전

[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 투두리스트

UI를 보고 저장해야할 데이터인지 파악하는 팁이 있을까요?

작성

·

55

0

UI를 보고 저장해야 하는 데이터인지, 그냥 넘어가도 되는지, 혹은 UI를 봐도 어떤게 DB테이블에 들어가야 하는지 감이 안잡힐때 어떤 기준이나 팁이 있을까요? ㅜㅜ

답변 2

1

안녕하세요, 인프런 AI 인턴입니다. 김현우님.

UI를 보고 어떤 데이터를 저장해야 할지 결정하는 것은 데이터베이스 설계에서 중요한 부분입니다. 다음은 데이터 저장 여부를 판단할 때 유용한 몇 가지 팁입니다:

  1. 비즈니스 요건 이해하기: 저장할 데이터는 보통 비즈니스 요건과 밀접한 관계가 있습니다. 이 데이터가 어떤 기능을 수행하는데 필수적인지, 또는 나중에 참조할 가능성이 있는지를 판단해야 합니다.

  2. 데이터 변화 빈도 파악: 빈번하게 변경되거나 다양한 경우에 맞게 수정이 필요한 데이터라면, 데이터베이스에 저장하는 것이 실질적인 관리에 도움이 될 수 있습니다. 예를 들면, 회원의 개인정보나 상품 재고 정보 같은 경우입니다.

  3. 데이터 지속성 필요성 평가: 특정 데이터가 영구적으로 저장되어야 할 필요가 있는지도 고려합니다. 예를 들어, 거래 내역이나 사용자 이력 같은 데이터는 추후 분석이나 법적 요구 때문에 저장이 필수적일 수 있습니다.

  4. UI의 고유 속성 이해: UI에서 표현되는 데이터 중 고유값이 있는 것들, 예를 들어 사용자의 ID, 제품 코드 등은 데이터베이스에 저장하는 것이 일반적입니다.

  5. 유사한 데이터베이스 설계 참고: 기존에 잘 설계된 데이터베이스 모델을 참고하여 비슷한 패턴이 있는지 확인하는 것도 좋은 방법입니다.

이러한 팁들을 활용하여 데이터 저장 여부를 판단하시면 조금 더 명확한 기준을 세우실 수 있을 것입니다.

관련해서 더 깊은 이해를 돕기 위한 기존의 질문 및 답변을 살펴보시면 도움이 될 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 현우님 ~ 질문 너무 잘 해주셨습니다ㅎㅎ

질문 주신 내용에 대해 답변드려 볼게요 ~~

 

"저장해야 하는 데이터인지, 그냥 넘어가도 되는지, 어떤게 DB테이블에 들어가야 하는지 감이 안잡힐때 어떤 기준이나 팁이 있을까요?"

-> 조금 더 구체적인 상황에 따른 팁을 몇 가지 드려볼게요 ~

 

첫번째, UI에서 사용자가 직접 입력하거나 선택하는 데이터인지?

입력 필드(텍스트박스, 드롭다운 등)가 있다면 대부분 저장해야 하는 데이터입니다! 예시로는 회원가입 시 이메일, 비밀번호, 이름 등이 있어요 ~

 

두번째, 사용자의 행동(좋아요, 팔로우, 신고 등)에 따라 상태가 바뀌는 데이터인지?

단순히 보여주는 정보가 아니라, 사용자의 액션이 기록되는 경우 저장해야 하는 데이터 입니다 !

예시로는 좋아요 수, 팔로우 여부, 신고 사유 등 유저가 누르거나 작성하는 내용이 있어요 ~

 

세번째, 다른 페이지/기능에서 다시 사용되거나, 통계/필터/조회 등에 쓰이는 정보인지?

다른 기능과 연동되거나 필터링에 사용되는 정보는 DB에 저장하는 데이터입니다 !

예시로는 게시글의 카테고리, 해시태그, 조회 수 등 다른 화면에서도 조회되는 데이터가 있어요 ~

 

 

반대로 저장을 안해도 되는 경우에는

첫번째, 단순히 계산이나 집계로 보여주는 파생 데이터 (예: 좋아요 수, 총 주문 금액 등) 가 있어요 !

두번째로, 사용자가 입력하지 않은 정적인 UI 텍스트 (예: “환영합니다!”, “비밀번호를 입력하세요” 같은 문구)가 있어요 !

 

위 팁들을 전체적으로 관통하는 핵심 아래와 같아요 !

“이 데이터는 사용자나 서비스가 변경할 수 있는가?”

“이 데이터를 나중에 다시 꺼내서 사용할까?”

위 두 질문에 Yes 라고 판단이 되신다면 과감하게 DB에 저장해 보세요 ~

하지만 말 그대로 팁일 뿐이며 우선 과감에서 현우님이 판단하신대로

설계를 한 뒤 개발을 해보시는걸 더욱 더 추천드려요 !!

프로젝트를 진행하며 "아 ! 이 데이터가 빠졌네 ! 추가해야지 !",

"개발을 하고 보니 이런 데이터는 굳이 DB에 저장하지 않아도 되네 ?" 라는 걸 느끼며

더욱 시야가 넓어지며 예시하게 될 거에요 !!

그리구 생각 보다 수정하는게 오래걸리지도 않아요 ~

무엇보다 이런 경험이 좋은 포토폴리오가 되기도 합니다 :)

 

혹시라도 추가로 궁금한 점이 있으시면 언제든 편하게 질문 주세요 ~~😊

김현우님의 프로필 이미지
김현우

작성한 질문수

질문하기