作業オーダーチケットのサービスアクティビティを処理するSQLデータベースのテーブル関係を作成しようとしています。私はこれらのテーブルのための1対5の関係を持っており、質問があります。 私は、作業注文チケットを作成するためのWOT(Work Order Ticket)テーブルを持っています。 WOTは、それに関連付けられた異なる日付で複数のサービスアクティビティを持つことができます。 各サービスアクティビティでは、複数のパーツを使用して修復できます。 これは単なる基本的な考え方ですが、私は、次のテーブルとリレーションシップを作成しました:SQLテーブルの関係
WOT Table:
WOT> wotnum - PK
Service Activity Table:
service_activity>をServiceID - PK
service_activity> wotnum - FK(WOTテーブルのPKへのリンク)
Part Used Table:
partused> partusedid - PK
partused>サービスID - FK(サービスアクティビティテーブルのPKへのリンク)
上記テーブルの各々は、(同様に他の列を有しています図示されていない)が、日付フィールド、部品番号などのテーブル固有のものである。
service_activity>serviceid (PK)
フィールドはautoinフィールドも同様にpartused>partusedid (PK)
フィールドです。
私の質問は、実際に手動でpartused>serviceid field (FK)
を入力することなく、service_activity>serviceid field (PK)
と同期されたpartused> serviceidフィールド(FK)をどのようにして保証するのですか?
私はテーブルとリレーションシップについてよく理解していますが、実際のデータ入力時にテーブルがどのように相互作用するかを考えているプロセスについては、少し新人です。私はこれに対する答えが簡単かもしれないと思うが、私はまだそれを把握していないだけだ。私の現在の解決策が適切でないようなら、私は提案を歓迎する。私は正しい方向に進むためにいくつかの助けが必要です。
"実際に手動でpartused> serviceidフィールドに入力する必要はありません"とはどういう意味ですか?手動ではない場合は、他のどのような方法でフィールドを入力できると思いますか?私はこの文脈であなたが "手作業"で何を意味しているのかも分かりません。 –
私は彼がFKの仕組みをよりよく理解する必要があると思います:p – achecopar