[이지산] Sprint7#126
Hidden character warning
Conversation
peterhyun1234
left a comment
There was a problem hiding this comment.
@jisan-lee 님, 안녕하세요!
이번 Sprint 7 SQL 미션 제출하시느라 고생 많으셨습니다 👋
스키마 설계, ERD, 그리고 쿼리까지 전반적으로 살펴보니 도메인을 체계적으로 나누고, 실제 서비스 형태를 염두에 둔 설계라는 점이 잘 드러나는 PR이었습니다. 테이블 수가 많은데도 구조가 크게 흔들리지 않는 점이 인상적이었어요.
LGTM! (Looks Good To Me) 👍
전체적인 방향성과 완성도 측면에서 LGTM 드릴 수 있는 PR입니다.
칭찬하고 싶은 점 ✨
-
도메인 분리와 일관된 네이밍
_TDAUser,_TDAItem,_TDABoard처럼 유저 / 상품 / 게시판 도메인을 명확히 분리한 점이 좋습니다.- 테이블과 컬럼 네이밍이 전체적으로 통일되어 있어, 규모가 커져도 구조를 파악하기 쉬워 보입니다.
-
복합 PK와 관계 설계
- 상품 찜하기, 태그 연결, 댓글 테이블에서 복합 PK를 적절히 사용해 중복 데이터를 방지한 점이 아주 좋습니다.
- 댓글을 단순 id가 아니라
(ItemId, Serl)구조로 관리한 것도 “도메인 기준 식별”이라는 관점에서 의미 있는 설계입니다.
-
쿼리 요구사항 충실도
- 14개 쿼리를 모두 작성했고, 페이지네이션·정렬·날짜 조건·집계 등 요구사항을 전반적으로 잘 반영하셨습니다.
- 좋아요 개수를 서브쿼리로 계산한 방식도 문제 요구사항을 정확히 만족합니다.
-
ERD + 이전 미션 정리
- ERD를 함께 제출해 구조를 설명하려 한 점이 좋고,
이전 스프린트 미션(sql)도 함께 정리해 둔 점에서 학습 흐름을 잘 관리하고 계신 게 느껴집니다.
- ERD를 함께 제출해 구조를 설명하려 한 점이 좋고,
더 성장하기 위한 제안 🌱
-
네이밍 컨벤션 한 단계 정리
CreateAt,UpdateAt→CreatedAt,UpdatedAt처럼
시제 표현을 통일하면 더 깔끔한 스키마가 될 것 같습니다.- 현재도 큰 문제는 없지만, 실무에서는 이런 디테일이 꽤 중요해요.
-
서브쿼리 → JOIN 전환 고려
- 상품 목록 조회에서 좋아요 개수를 구한 서브쿼리는 명확하고 이해하기 쉽습니다.
- 데이터가 많아질 경우에는
LEFT JOIN + GROUP BY방식으로도 한 번 구현해보면 성능 관점에서 좋은 연습이 될 것 같습니다.
-
불필요한 컬럼 고민
IsClosed,IsCompleted처럼 상태를 나타내는 컬럼들은
이후 상태 정의(enum / 상태 테이블)로 확장할 수 있는 여지가 있어 보여요.- “이 컬럼이 늘어날 가능성은 없을까?”를 한 번 더 고민해보면 좋겠습니다.
총평 🚀
이번 PR은 테이블 수가 많음에도 불구하고 전체 구조가 안정적이고, 요구사항을 충실히 구현한 점이 가장 큰 강점입니다.
특히 관계 설계와 복합 PK 사용에서 기본기가 잘 드러났고,
“실제 서비스용 DB를 설계한다면 이렇게 나눌 수 있겠다”라는 그림이 자연스럽게 떠오릅니다.
다음 단계에서는
👉 성능(인덱스, JOIN 방식)
👉 네이밍 컨벤션 정교화
이 두 가지만 더 다듬으면, 훨씬 실무에 가까운 설계가 될 것 같아요.
고생 많으셨습니다! Merge 진행하겠습니다.
다음 스프린트도 화이팅입니다 💪
|
지산 님 안녕하세요! 머지와 별개로 리뷰는 잘 처리됐습니다~ |
요구사항
기본
심화
주요 변경사항
스크린샷
멘토에게