交差テーブルは、2つのエンティティ間の関係を定義します。それが匿名の関係であれば、別個のサロゲートキーは必要ない。
例えば、PartsのテーブルとUnitsのテーブルは、どのUnitが各Unitを作成するために使用されるかを定義するテーブルを持つことができます。各パーツは複数のユニットで使用でき、各ユニットは多くのパーツで構成されています(場合によっては特定のパーツのいくつかがあります)。このようなテーブルは次のようになります。
UnitID PartID Qty
このような交差テーブルは、おそらくサロゲートキーを持っていないでしょう。関係について質問されるよくある質問は次のとおりです。
- ユニットXを作るために使用されるのはどの部分ですか?
- ユニットXを製造するために使用される最も安価な/最も高価な部品は何ですか?
- パーツPを含むユニットはどれですか?
- パーツPが最も多く必要なユニットはどれですか?
この関係の別のキーが使用される状況は考えられません。すべての質問は、特定の部分または特定の単位に関係します。
一方、コースと学期を取る。交差点テーブルは、コース、すなわちコースを教える特定のセッションを確立する。ここでは、同じ学期内に特定のコースのいくつかのインスタンスが存在する場合があります。スミス教授のm-w-fでは1日1時間、ジョーンズ教授のt-thは毎日1.5時間のMath-101クラスがあります。登録および他の将来の記録保管中
は、数学-101または追跡する学期が、使用される特定のクラスではありません。このため、別の代理キーが必要になります。
あなたのインスタンスでは、関係が匿名かどうかが分析によって決定されます。
これらの状況を詳しく説明したり、正しい方向に私を指差してください。私はこの問題を尋ねましたが、特に役立つものは見つかりませんでした。 – user388600