장바구니에 대한 고찰 2

·2022년 4월 17일
0

API 장바구니

목록 보기
2/5

고민이 줠라 많이 생겨나고 있다.

하 진짜 내일 맛있는거 먹어야지

장바구니를 쿠키나, 세션을 사용하는 방법도 있다고 한다.
근데 쿠팡같은 경우를 보면
핸드폰으로 장바구니에 물건을 담아놓고
컴퓨터로 로그인을 해서 보면 그 초기화되는 것이 아니라 담겨져있는 것을 확인할 수 있다.

그렇다는 이야기는 적어도 일단 쿠팡에서는 장바구니 테이블이 별도로 존재한다고 생각을 하고 있다.

그럼 내가 지금 고민중인게 무엇인지....그냥 풀어나 보려고 한다.


지금까지 만들어놓은 현재 내 상태

장바구니는 물건과 유저 id를 참조하고 있는 상태


그럼 내가 생각하는 구조를 적어본다.


1. 장바구니의 정보로 물건을 조회할 수 있어야 한다.

왜냐하면 장바구니에 담긴 정보를 이용하여 물건을 조회할 수 있어야지만
장바구니 탭에 들어갔을 때 정보들이 보여진다고 생각한다.
링크...링크는 일단 모르겠고 (이건 생각도 못했는데 글쓰다가 문득 생각났네 날 죽여라)
해당하는 물품의 가격, 이름, 정보, 수량등을 볼 수 있다.

그렇기 때문에 장바구니에 물건의 id가 관계가 형성되어있어야만 한다고 생각한다.

2. 같은 물건을 여러개 추가를 할 수 있다.

즉 수량이 늘어난다는 것인데
금액을 표시하는 것은 문제가 없지만, 물건의 id를 참조하고 가져오고 있는 과정이기에
수량을 기입해줄 방법이 없다.
왜냐하면 참조하는 데이터를 바꿔버리면 그 물건을 사려고 장바구니에 넣어놓은 모든 사람들이 변경이 되기 때문이다.

그럼 생각하고 있는것이 그렇다면 또다른 테이블을 새로 만들어야하는 것인가? 라는 의문이 들고 있다.

유저 테이블이 존재하고
유저의 id를 조인한 장바구니 테이블이 존재하고

물건이라는 테이블이 존재하고
물건의 id를 조인한 물건들 테이블이 존재하는

4개의 테이블이 존재한다면 구조를 쉽게 만들 수 있을 것 같긴 하다.

만약 동원참치 2개를 장바구니에 넣으면
물건 테이블에 동원 참치라는 이름을 가진 물건의 id를
물건들 테이블에 조인을 한 후 수량을 2개로 지정을 한 후
그것을 장바구니 테이블에 조인을 하면 될 것 같긴 한데.....

이렇게 만들면 데이터의 이동 흐름이 많아서 돈이 많이 나올 것 같다.
데이터의 이동은 곧 돈이라며 서버비가 무쟈게 많이 나올 것이라고 ㅋㅋ..

그리고 장바구니도 물건들도 두개의 테이블은 금방 사라질 수 있기에 저런 구조는 좋지 못할 것 같다.

근데 어떻게 해서든 수량을 체크를 하는 방법을 찾아내야할 것 같은데
아예 장바구니와 물건의 관계를 풀어버리고
물건 id로 검색을 한 것을 통째로 붙여버리고 수량값을 추가로 달아놓으면 될 것 같은데

이렇게 할 경우에는 그 물건으로 조회하는 과정이 쿼리문이 추가로 들어가서 번거로워질 것이다 분명.


그러다가 문득 쿠팡의 장바구니를 보면서 생각을 하게 된 것이 있는데.

일단 최초로 장바구니에 넣기를 하면 디비에 저장이 되는 것은 맞는 것 같다.
그리고 이 내부에서 수량을 바꾸는 것도 디비에 저장이 되는 것 같은데..........

왜냐하면 컴퓨터로 장바구니에 물건을 등록하면
핸드폰에서 그것을 똑같이 확인할 수 있고

핸드폰에서 장바구니를 들어가서 물품 수량을 변경하면
컴퓨터로 봤을 때도 똑같은 변경된 수량이 보여지는 것을 확인할 수 있다.

그럼 이것도 디비에 저장되는 것 같은데....ㅠ_ㅠ........

ha........도대체 뭘까..........

profile
물류 서비스 Backend Software Developer

0개의 댓글