2016-04-18 10 views
0

会社には多くの製品があります。それは多くの店を持っています。各店舗は、異なる価格と在庫を追跡します。MySQLデザインのマルチコンセント製品

私の現在のDB設計は次のとおりです。

ID product_name price inventory 

店舗

ID store_name 

ProductAttr

store_id product_id price inventory 

製品は、今私は、製品テーブルitseの在庫と価格を保存しています新しい商品が店舗の1つに追加され、ProductAttrテーブル行が他の店舗用に作成されない場合は、商品テーブルにデフォルト設定することができます。

属性をProductAttrテーブルに完全に移動する方がよいでしょうか。数週間後に新しい店舗を追加する場合は、すべての商品属性がこの新しい店舗で作成されていることを確認する必要があります。また、ストアが製品を作成するときに、すべてのストアの行を作成する。

このような状況に取り組むにはどうすればよいでしょうか?

答えて

0

あなたは正しい行に沿って考えています。 inventory属性は、そのストアの製品に関連するプロパティーとしてProductAttrに属している必要があります。

default storeをさらに追加することができます。割り当てることができる店舗がない場合に割り当てることができます。

商品の合計在庫はProductAttrの在庫の合計になります。

+0

ProductAttrテーブルのすべてのストアに行を挿入して製品を作成する方がよいでしょうか?また、新しい店舗が追加された場合は、それも行が必要ですか?これは私が心配しているビットです。 – James

+0

はい、ProductAttrに行を挿入する必要があります。新しい店でも同じです。これは正しい方法です。これがリレーショナルデータベースでどのように行われているのですか? – shikhar

関連する問題