0

プロジェクト用に単純な POS システムを構築しています。このシステムには、Sales という名前のテーブルと、Item という名前の別のテーブルがあります。Item テーブルには、主キーである itemcode という名前の列があります。Sales テーブルには、Item テーブルの itemcode を参照する外部キーである itemcode という名前の列があります。

問題は、Sales テーブルの itemcode を、Item テーブルの itemcode を参照する外部キーにする必要があるかどうかです。

外部キーの場合、この特定のアイテムに売上があった場合、Item テーブルから特定のアイテムを削除できませんでした。これは、Item テーブルの主キーを参照する Sales テーブルに外部キーがあるためです。

外部キーでない場合、Item テーブルの itemcode を更新しても、itemcode は更新されません。

この問題を解決するためのヒントはありますか?

4

2 に答える 2

0

item テーブルの主キーとして entity_id を持つことができ、これは sales テーブルから参照されます。アイテムコードは、アイテムテーブルのみの別の列になります。

于 2012-06-18T06:19:50.370 に答える
0

データベース内の特定のアイテムの存続期間中にアイテム コードが変更される場合、それは主キーとしての適切な候補ではありません。このような状況では、通常、自動インクリメント ID と適切に任意の ID を生成して主キーとして使用し、それらを外部キー リレーションシップで使用します。あなたもそれをケーキにして食べますか...それは、適切にインデックス化された効率的な列を1つ追加するだけです。:-)

于 2012-06-18T05:13:03.900 に答える