私はそれを正しい方法で考えていることを確認しようとしているだけです
1) 完全な依存関係とは、1 つ以上の主キーが別の属性を決定する場合です。
2) 部分的な依存関係は、主キーの 1 つが別の属性を決定する場合です。
3)推移的な依存関係は、非キー属性が別の属性を決定する場合です
私はそれを正しく考えていますか?
私はそれを正しい方法で考えていることを確認しようとしているだけです
1) 完全な依存関係とは、1 つ以上の主キーが別の属性を決定する場合です。
2) 部分的な依存関係は、主キーの 1 つが別の属性を決定する場合です。
3)推移的な依存関係は、非キー属性が別の属性を決定する場合です
私はそれを正しく考えていますか?
この回答は、私の CS コースから直接得たもので、Connolly and Begg の教科書から得たものです。
完全な機能依存
候補キー (ここでは、propertyNo、iDate、および pAddress) を特定します。これは、これら 3 つの任意の組み合わせにより、特定のタプルの他の属性が何であるかを見つけることができるためです (これら 3 つのことを考慮して、検査を行った staffNo を見つけることができます。これら 3 つのことを考慮して、carReg を使用した staffNo を見つけることができます。 .)。ただし、サブセットだけでなく、他の属性を見つけるには、これら 3 つのすべてが必要であることに注意してください。 完全な依存関係は、すべてまたは一部に依存する候補キーに応じて、常に非候補キーに関連します。
部分的な依存関係
これら 3 つの候補キーが与えられたら、候補キー内を調べます。他のキーに依存する候補キーのサブセットはありますか? はい、pAddressです。propertyNo が与えられると、プロパティのアドレスを把握できます。次に、候補キーの外側を見てください。すべてのコンポーネントではなく、候補キーの一部のみに依存するこれらのキーはありますか? この場合はありません。したがって、部分的な依存関係は常に、候補キー内の依存関係、またはすべてのコンポーネントではなく候補キーの一部のみに対する非候補キーの依存関係です。
推移的な依存関係
次に、非候補キー (staffNo、comments、iTime (検査時間)、sName、carReg) を見てください。その中で、他に機能的に依存しているものはありますか? はい、sName です。staffNo を指定すると、スタッフ メンバーの名前がわかります。しかし、staffNo は機能的に 3 つの候補キーに依存しています。したがって、推移性により、propertyNo + iDate + pAddress -> staffNo -> sName となり、sName は staffNo に推移的に依存します。推移的な依存関係は、常に候補キーの外部にある属性に関連しています。
完全に依存するとは、問題のすべての属性に依存することを意味し、通常は候補キーのすべての属性を意味します。主キーは依存関係の理論と正規化において特別な役割を果たさないため、「主」として指定されたキーである必要はありません。
部分的依存とは、それらの属性の適切なサブセットに依存することを意味し、通常は候補キーの適切なサブセットを意味します。
コンテキストに応じて、推移的な依存関係は次のいずれかを意味します。
(1) A->B、B->C の形式の依存関係
(2) A->B、B->C の形式の依存関係 (B はスーパーキーではありません)
ほとんどの場合、推移的な依存関係という用語は、(2) で説明される状況を指すときに使用され、(1) がより形式的には正しい意味であるにもかかわらず、実質的にその意味と同義になっています。
部分的な依存関係:テーブル内の属性が主キーの一部のみに依存し、キー全体には依存しない場合。(詳細については、このリンクを参照してください) https://www.studytonight.com/dbms/second-normal-form.php
推移的な依存関係:非主要属性が、主要属性または主キーに依存するのではなく、他の非主要属性に依存する場合。(詳細については、このリンクを参照してください) https://www.studytonight.com/dbms/third-normal-form.php