1

私の会社はこのモデルを使用して在庫を管理していました

モデル1http://img534.imageshack.us/img534/6024/modeltest2.jpg

しかし、今月は同じ倉庫で価格や賞味期限の異なるビニール袋を購入したため、問題が発生していました。

だから今、私はモデルをこれに変更しました。

モデル1http://img16.imageshack.us/img16/8416/modeltest.jpg

私の質問は、これで問題ないかどうかです。これは機能していますが、主キーのみを使用してテーブルを作成するのは初めてです。

データの例:

PRODUCT        WAREHOUSE   Quantity   Price  Expiration_Date
PLASTIC BAG    NEW YORK    20         1.20$  12-10-2013
PLASTIC BAG    NEW YORK    130        1.50$  21-12-2015

ありがとう

4

2 に答える 2

1

これに関する1つの問題は、MySQLおよびInnoDBストレージに固有であり、InnoDBが代理の主キーとして機能する追加の6バイト整数を内部でサイレントに作成することです。また、主キーを介してクエリを実行できる場合は、InnoDBテーブルに対するクエリの方が効率的です。したがって、可能であれば主キー(または一意キー)を定義することはあなたの利益になります。

列Product_ID、Warehouse_IDの組み合わせがすべての行を一意に識別するのに十分でない場合は、重複を区別するために3番目の列を追加できます。たとえば、Stock_IDなどです。

于 2012-11-22T21:34:33.030 に答える
1

基本的には大丈夫です。販売、倉庫システムでは、製品ごとに多くのレコードがあるため、有効期限が異なるすべての製品を製品テーブルに保存することはできません。ただし、通常は、それらを「Item_Ledger_Entry」テーブルに保存する必要があります。このテーブルには、すべての販売または購入のトランザクションが含まれます。

有効期限が異なる1つの同じ製品を使用しています。PriamreyKeyinはまったく必要ないと思いますProduct has warehouseKey

于 2012-11-22T21:53:03.663 に答える