프로젝트/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

예시)

 

 

결과