강의

멘토링

커뮤니티

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

123413님의 프로필 이미지
123413

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

DB 설계 관련 질문입니다

해결된 질문

작성

·

1.1K

0

nodejs 2개월 조금 넘게 공부하고 현재 클론 코딩 중에 있습니다. ERD를 이미 짜놨긴 했지만 1:1, 1:N, N:M 관계에 대해 제대로 파악하지 못한체 설계를 했던 ERD라 거의 API 하나 만들 때마다 전면 수정하면서 진행하고 있습니다.

현재는 장바구니 데이터 설계에서 막혀있습니다.

관리자가 상품을 등록하는 쇼핑몰(무신사)인데 장바구니 설계는 어떻게 해야될까요

제가 생각하기엔 Cart(장바구니) 라는 테이블을 하나 더 생성하여

유저는 Cart를 하나 가질 수 있으니 1대1 관계

Cart는 상품을 여러 개 가질 수 있고 하나의 상품도 여러 개의 장바구니에 속할 수 있으니 N:M 관계인 것 같은데

막상 구현해보면

AssociationError [SequelizeAssociationError]: You have used the alias Cart in two separate associations. Aliased associations must have unique aliases

에러가 뜹니다

Node.js 단톡방에 여쭤보니 일 대 일은 특수한 상황 빼고는 거의 존재하지 않는다 하다고 들었습니다

잘 모르겠고 유저와 상품 관계를 N:M으로 두고 through로 Cart 로 지정하면 해결은 되겠으나 같이 프로젝트 하면서 공부하시는 백앤드 동료분한테 DB 설계건으로 4~5번 쿠사리 들으니 차마 그러진 못하겠더군요

조언 부탁드립니다

+추가적으로 이번 프로젝트에서 DB 설계에서 큰 부족함을 느꼇는데 DB 설계 훈련은 어떤 식으로 진행하는게 좋은지 여쭤보고 싶습니다 - 막상 ERD 짤 땐 너무 쉽다 하면서 테이블 30개씩 만들면서 설계했는데 API를 구현 + 동료분 쿠사리를 듣다보니 30%는 틀렸습니다..

 

이 프로젝트는 백앤드 1명(저혼자), 프론트(4명)으로 진행하고있습니다.

무신사 클론코딩 ERD 

https://www.erdcloud.com/d/ra58EaotkzATmaMHo

협업 깃허브

https://github.com/ToyProject-Team/Musinsa_clone

 

답변 2

0

123413님의 프로필 이미지
123413
질문자

아하

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

잘 모르겠고 유저와 상품 관계를 N:M으로 두고 through로 Cart 로 지정하면 해결은 되겠으나 같이 프로젝트 하면서 공부하시는 백앤드 동료분한테 DB 설계건으로 4~5번 쿠사리 들으니 차마 그러진 못하겠더군요

이게 맞는데요? DB 설계는 원칙대로 하시면 됩니다. 정규화원칙대로요. 대학 강의에서도 한 학기 내내 정규화 원칙만 배웁니다.

123413님의 프로필 이미지
123413

작성한 질문수

질문하기