테이블별로 날짜를 저장하는 경우, 특정 날짜나 월별/년별로도 join이 가능한지 아직 몰라서,
우선 year/month/day를 별도로 컬럼으로 생성했다.
약재의 재고 관리를 하기 위해 생성한 테이블은 약재를 구매해서 +되는 테이블과 약재를 사용해서 -되는 테이블을 별도로 두었다. 약재를 구매해서 +되는 테이블은 지출에서 row가 생성되기 때문에 1:n의 관계를 맺어줬다. 현실적으로 약재를 사용해서 -되는 경우에는 약재를 짓는 환자의 레시피에 따라서 g단위로 차감해야하지만,
약재를 약재함에 옮기는 단위로 재고 관리를 하기 때문에 관계를 맺어주지 않았다.
구조적으로 약재 재고 plus/minus를 별도로 테이블을 두는 것이 나을지, 아니면 하나의 테이블에서 vendor_id를 nullable하게 관리하는 것이 맞는지 고민된다.
작성하면서 생각해보니, 테이블을 2개로 두고 join해서 사용하는 것이 불필요한 연산을 수행하게 하는 것 같아서 약재 재고는 한 테이블 내부적으로 관리하기로 한다.
테이블을 합치고, is_buy값을 줘서, 주문했으면 foreign키를 가지고오고 +로 무게를 계산하도록 한다.