小規模なECサイトを構築予定です。
在庫がある商品を扱う予定ですが、その商品の在庫を管理するテーブルの設計について、
以下のように考えております。
が、在庫がある商品を扱ったことがないので、本当にこのような設計でよいか悩んでおります…
【テーブル:product】
商品を管理するテーブル
id:オートインクリメント
name:商品の名前
price:価格
image:商品の画像URL
description:商品の説明
yuko_flg:商品の有効/無効
stock:在庫
created_at:登録日
【テーブル:inout_store】
商品の出入りを管理するテーブル
id:オートインクリメント
product_id:テーブルproductのid
num:入庫、出入庫の数
memo:メモ
created_at:登録日
【テーブル:order】
id:オートインクリメント
order_num:購入した数
・・・購入情報等。(省略)
・productテーブルは商品を管理するテーブルで、管理者が管理画面から商品を登録したり
修正した際にINSERTやUPDATEされる。※stockカラム以外
・inout_storeテーブルは、商品の出入庫を登録するテーブル。
商品を納入したり、ダメになったりした際に+の数や-の数を管理者は管理画面から商品IDと共に登録する。登録すると、inout_storeテーブルにINSERTすると同時に、productテーブルのstockカラムの数をその数だけプラス/マイナス(UPDATE)する。
・ユーザーがECサイトから注文するとorderテーブルに購入した数等をINSERTする。と同時にproductテーブルのstockカラムの数をその数だけマイナス(UPDATE)する。
というように、productテーブルのstockカラムには、常に、いくつ在庫があるかが登録される。
・・・購入されたりした際に、いちいちproductテーブルのstockカラムをUPDATEする設計ですが、これはおかしいでしょうか?
最新の在庫の管理をどのようにやるべきか、アドバイスいただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/09/03 13:47
2020/09/03 13:50
2020/09/08 13:10