0

他の3つのテーブルを主キー「車両」、「エンジン」、「トランスミッション」で結合するテーブル(tableA)があります。これらの1つ以上にパーツを割り当てられるようにしたいと思います。たとえば、「この車両のみ」または「のみ」このエンジンを搭載したこの車両」または「このエンジンを搭載した任意の車両」

私の計画では、主キー「車両」、「エンジン」、「トランスミッション」も含むパーツテーブル(tableB)を作成し、たとえば次のように挿入できるようにします。

  • 4844, null, nullパーツを「車両」のみに割り当てる、または
  • 4844, 240, null「このエンジンを搭載したこの車両のみ」に部品を割り当てる。

データベースレベルで整合性を強制できる方法はありますか?

  1. tableBに入力されるフィールドは、tableAのフィールドを参照する必要があります。
  2. 少なくとも1つのフィールドに入力する必要があります。
  3. それらすべてにデータを挿入しないオプションがありますか?
4

1 に答える 1

0
  1. データモデルのパターンを読んでください。良い本が何冊かあり (hay, fowler, silverston, blaha)、hay はこの種のものをよくカバーしています。

  2. このようなことをしたい場合は、チェック制約のある postgres のような実際のデータベースを使用してください。質問 2 と 3 については、チェックで簡単に解決できます。

于 2012-11-05T08:04:00.083 に答える