1

product(id, name)モデル番号が異なる複数の製品グループを含む表があります。すなわち、{motor10、motor20、motor30、pipe10、pipe20、pipe30、wrench12、wrench20 など}。

product category{motor, pipe, wrench, uncategorized} などのカテゴリのみを含む、という名前の新しいテーブルを作成することにしました。

ここに画像の説明を入力

質問

アプリケーションの実用的な目的で (ER 図のモデル化などの理論的な目的ではなく)、識別関係または非識別関係を使用する必要がありますか?

私のユースケース 私の場合、製品がカテゴリなしでは存在できないように定義できます。ただし、製品がまだ分類されていない場合は、uncategorizedカテゴリに価値があります。カテゴリには、まだ製品が割り当てられていないエントリを含めることができます。

カテゴリは、私が実際に使用する必要のない架空の概念ですが、現在持っている一連の製品を分類するのに役立ちます. これはでっち上げのコンセプトであり、どのように使用したいのかわからないため、この問題に苦労していると思います。別名..テーブルを用意する必要はまったくありませんproduct_category、さまざまな製品のグループ分けに役立つことは間違いありません。

これを識別関係にするには、一部のコードを修正して書き直す必要があります。多くのコードを書く前に、これを識別関係にしたいことを確認したかったのです。

...とはいえ、これを識別関係にしない場合はありますか?

4

2 に答える 2

1

私は...するだろう

  1. product_categoryテーブルを非識別関係のままにします。
  2. =と=を含むデフォルトのproduct_category行を用意します。category_nameUncategorizedid1
  3. が割り当てられていないすべての新しい行が自動的に にデフォルト設定されるように、テーブル1の列のデフォルト値をに設定します。product_category_idproductproductproduct_categoryUncategorized
于 2016-09-06T23:28:16.813 に答える