SPRINT7

권나현·2025년 7월 21일

미션 목표

  • SQL 스키마 설계하기
  • ER Diagram 그리기
  • SQL 쿼리 작성하기

1. SQL 스키마 설계

  • 처음에는 판다마켓 Figma 디자인을 바탕으로 필요한 데이터 구조를 정리했다.
  • 기획서를 따로 주는 게 아니라 UI에서 데이터 흐름을 유추하는 작업이 새로웠다.

1-1. 설계한 주요 테이블

  • users (회원)

  • products (중고 상품)

  • product_images, product_tags, likes, comments

  • articles (자유게시판), article_likes, article_comments, article_images

→ 총 12개 테이블, 관계형 구조 기반으로 작성

2. ER 다이어그램 작성

  • Mermaid.js로 ERD를 시각화하고, 이후 이미지로 변환하여 erd.png로 제출했다.

  • 처음엔 관계선 방향이나 1:N, N:N 구분이 헷갈렸지만, 작성하면서 데이터 흐름을 명확히 시각화하는 훈련이 됐다.

3. SQL 쿼리 작성

  • 총 14개의 실전 SQL 쿼리를 작성했다.

  • 예를 들어:

    • INSERT, SELECT, UPDATE, DELETE

    • 검색 + 좋아요 수 포함 목록 조회

    • 커서 기반 페이지네이션

    • 좋아요 토글 쿼리

    • 내 정보 수정, 내가 쓴 글/좋아요 상품 불러오기 등

      → 실제 서비스에서 바로 써먹을 수 있는 쿼리들로 구성되어 있다.

4. 느낀 점

  • UI를 보고 필요한 테이블을 추론하는 과정이 처음엔 어렵게 느껴졌지만 천천히 분석하고 완성되어가는 과정이 흥미로웠다.

  • 단순히 CREATE TABLE만 하는 게 아니라, 제약 조건(FK, UNIQUE, CHECK)과 조인관계까지 꼼꼼하게 설계하며 "왜 이렇게 설계해야 하지?"라는 질문을 계속 던지게 되었다.

  • 정규화 vs 성능 사이에서 어떻게 밸런스를 잡을지 고민하는 경험이 됐다.

  • DB만 다뤘는데도 하나의 기능 흐름을 완전히 구현한 느낌이 들 정도로 뿌듯했다.

profile
node.js 백앤드 개발자가 되기 위한 Study Vlog

0개의 댓글