영카트에서 g5_shop_order 테이블에 들어온 정보로
본문
영카트에서 g5_shop_order 테이블에 들어온 정보로
회원이 '입금'을 한 상태가 판단되면, 그후의 코드를 처리하려고 합니다.
즉,
g5_shop_order 테이블에서 od_status가 '입금'상태일때,
그 입금상태인 상품이 어떤 상품인지 정보를 얻고 싶습니다.
g5_shop_order테이블에는 od_id만 존재하는데, 상품 정보를 얻으려면
g5_shop_item에 있는 it_id가 필요하더라구여..
이 정보를 얻으려면 g5_shop_cart테이블에서 검색한후 it_id를 가져와야되는거같던데,
이게좀 의아하더라구여.
일반적으로 장바구니라는 개념은 물건을 잠시 담아두는 거라고만 생각했는데,
영카트에서 보니까(장바구니 보관기간15일) 쇼핑, 주문, 입금, 취소 에 대한 처리를 다하는것 같더라구여..
그렇다면, g5_shop_order에는 주문에 대한 기록, 입금, 취소 등에 대한 기록을 누적하는 테이블이고,
g5_shop_cart에있는 내용은 참고용으로 쓰는 테이블이기때문에, 보관기간이 지나면 지워지는 형식인가여?
제가 이해한게 맞는건가여~?ㅠ
개념이 제대로 안잡혀서 어떻게 접근해야갈지 잘 모르겠습니다. 도움부탁드릴게요!
답변 1
g5_shop_order : 하나의 주문이 하나의 레코드(row)
g5_shop_cart : 카트에 담긴 상품, 주문에 포함 된 상품
g5_shop_cart 여기 있는 데이타(레코드)는 일정기간 지나면 지워지게 하되
ct_status 가 '쇼핑'인 것만 지워야 합니다. (실제로 영카트 소스를 살펴보진 않았지만)
안그러면 주문에 포함 된 내역을 알 수가 없습니다.
-----
정리하면요, 카트 테이블에는
1) 장바구니에 담긴 제품이 담김.
2) 주문에 포함된 상품들이 담김.
3) 바로구매 등과 같이 바로 구매할 때도 담김.
두 테이블의 관계는 'od_id' 라는 필드값으로 연관 되어 있습니다.
좀 더 정확히 이해하고 싶으시면 데이타베이스 설계에 대해서 서점가서 앞부분 조금 보시면 개념을
이해하실 수 있습니다. 왜 이렇게 설계를 했는지에 대한...그런 것들을 알게 되니까요...