Skip to content

[이지산] Sprint7#126

Open
jisan-lee wants to merge 3 commits intocodeit-bootcamp-nodejs:mainfrom
jisan-lee:sql-이지산

Hidden character warning

The head ref may contain hidden characters: "sql-\uc774\uc9c0\uc0b0"
Open

[이지산] Sprint7#126
jisan-lee wants to merge 3 commits intocodeit-bootcamp-nodejs:mainfrom
jisan-lee:sql-이지산

Conversation

@jisan-lee
Copy link

요구사항

기본

  • 기본 항목 1
  • 기본 항목 2

심화

  • 심화 항목 1
  • 심화 항목 2

주요 변경사항

스크린샷

image

멘토에게

  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

Copy link
Collaborator

@peterhyun1234 peterhyun1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jisan-lee 님, 안녕하세요!
이번 Sprint 7 SQL 미션 제출하시느라 고생 많으셨습니다 👋
스키마 설계, ERD, 그리고 쿼리까지 전반적으로 살펴보니 도메인을 체계적으로 나누고, 실제 서비스 형태를 염두에 둔 설계라는 점이 잘 드러나는 PR이었습니다. 테이블 수가 많은데도 구조가 크게 흔들리지 않는 점이 인상적이었어요.


LGTM! (Looks Good To Me) 👍

전체적인 방향성과 완성도 측면에서 LGTM 드릴 수 있는 PR입니다.


칭찬하고 싶은 점 ✨

  1. 도메인 분리와 일관된 네이밍

    • _TDAUser, _TDAItem, _TDABoard처럼 유저 / 상품 / 게시판 도메인을 명확히 분리한 점이 좋습니다.
    • 테이블과 컬럼 네이밍이 전체적으로 통일되어 있어, 규모가 커져도 구조를 파악하기 쉬워 보입니다.
  2. 복합 PK와 관계 설계

    • 상품 찜하기, 태그 연결, 댓글 테이블에서 복합 PK를 적절히 사용해 중복 데이터를 방지한 점이 아주 좋습니다.
    • 댓글을 단순 id가 아니라 (ItemId, Serl) 구조로 관리한 것도 “도메인 기준 식별”이라는 관점에서 의미 있는 설계입니다.
  3. 쿼리 요구사항 충실도

    • 14개 쿼리를 모두 작성했고, 페이지네이션·정렬·날짜 조건·집계 등 요구사항을 전반적으로 잘 반영하셨습니다.
    • 좋아요 개수를 서브쿼리로 계산한 방식도 문제 요구사항을 정확히 만족합니다.
  4. ERD + 이전 미션 정리

    • ERD를 함께 제출해 구조를 설명하려 한 점이 좋고,
      이전 스프린트 미션(sql)도 함께 정리해 둔 점에서 학습 흐름을 잘 관리하고 계신 게 느껴집니다.

더 성장하기 위한 제안 🌱

  1. 네이밍 컨벤션 한 단계 정리

    • CreateAt, UpdateAtCreatedAt, UpdatedAt처럼
      시제 표현을 통일하면 더 깔끔한 스키마가 될 것 같습니다.
    • 현재도 큰 문제는 없지만, 실무에서는 이런 디테일이 꽤 중요해요.
  2. 서브쿼리 → JOIN 전환 고려

    • 상품 목록 조회에서 좋아요 개수를 구한 서브쿼리는 명확하고 이해하기 쉽습니다.
    • 데이터가 많아질 경우에는 LEFT JOIN + GROUP BY 방식으로도 한 번 구현해보면 성능 관점에서 좋은 연습이 될 것 같습니다.
  3. 불필요한 컬럼 고민

    • IsClosed, IsCompleted처럼 상태를 나타내는 컬럼들은
      이후 상태 정의(enum / 상태 테이블)로 확장할 수 있는 여지가 있어 보여요.
    • “이 컬럼이 늘어날 가능성은 없을까?”를 한 번 더 고민해보면 좋겠습니다.

총평 🚀

이번 PR은 테이블 수가 많음에도 불구하고 전체 구조가 안정적이고, 요구사항을 충실히 구현한 점이 가장 큰 강점입니다.
특히 관계 설계와 복합 PK 사용에서 기본기가 잘 드러났고,
“실제 서비스용 DB를 설계한다면 이렇게 나눌 수 있겠다”라는 그림이 자연스럽게 떠오릅니다.

다음 단계에서는
👉 성능(인덱스, JOIN 방식)
👉 네이밍 컨벤션 정교화
이 두 가지만 더 다듬으면, 훨씬 실무에 가까운 설계가 될 것 같아요.

고생 많으셨습니다! Merge 진행하겠습니다.
다음 스프린트도 화이팅입니다 💪

@peterhyun1234
Copy link
Collaborator

지산 님 안녕하세요!
지금 PR이 메인 브랜치를 기준으로 올라가 있어서, 베이스 변경하려다 GitHub 쪽 에러가 나서 머지가 안 되고 있어요 😅
데스티네이션 브랜치를 main 말고 sql-이지산 쪽으로 변경해 주실 수 있을까요?

머지와 별개로 리뷰는 잘 처리됐습니다~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants