프로젝트/Spring 프로젝트
[세미] DB - 초안으로 작성한 테이블에서 옵션 별 재고 수량을 구현할 수 없다
Supersett
2022. 1. 13. 10:39
1. product 테이블에서 옵션, 수량을 담을 column이 없다
▶문제 직면
초안으로 작성한 테이블에서는 옵션별 재고수량을 구현할 수 없는 구조라는 것을 발견했다.
▶목적
우리는 각각 옵션별로 재고수량을 옆에 나오게 한 뒤, 재고 수량이 0개라면 "품절"을 출력하고 선택할 수 없게 하고자 한다.
▶문제 해결 접근 방향
1. 처음으로는 product 테이블 하나로 구현을 할 수 있을지에 대해서 여러 가지 경우에 대해 얘기해 보았다.
<재고 없이 옵션만을 부여한다면 : index로 옵션을 일일히 구현>
0 : 옵션이 없는경우
1 : candle - 8oz
2 : candel - 16oz
3 : difuser - 25ml
4 : difuser - 50ml
이런 방식으로 option이라는 컬럼에 구분을 할 수 있다. 하지만 재고수를 하나하나 부여하기 불가능하다 판단.
▶구체적 솔루션
2. option 테이블을 추가 생성하고, product table에서 option_idx를 FK로 받아와 재고를 구현할 수 있게 했다.
옵션 : option (PK)
옵션 추가가격 : option_price
재고 : stock
예시)
▶결과