これで閉鎖が必要です。フィールドがプライマリキーに間接的に依存するか、部分的に依存するが、プライマリに依存する他のキーにも依存し、別のフィールドがIDに依存するフィールドが削除された場合、そのフィールドはまだ存在するという定義を作成しました主キーへの依存。正しいかどうかはわかりません。私は調査しましたが、すべての定義は誤解を招くように聞こえますが、私の定義は正しいですか?
関係を保持するFD(機能依存関係)は、決定属性の1つを削除すると関係を保持するFDを与える場合、部分的です。部分的ではないFDはいっぱいです。
たとえば、{A、B}→{C}であり、{A}→{C}の場合、{C}は部分的に機能的に{A、B}に依存しています。
機能的な依存関係X→Yは、属性AをXから削除すると依存関係が保持されなくなることを意味する場合、完全な機能依存関係です。つまり、属性AεXに対して(X – {A})はYを機能的に決定しません。属性依存性X→Yは、属性AεXをXから削除でき、依存性がまだ保持される場合の部分的な依存関係です。つまり、一部のA∈Xに対して(X – {A})→Y。
-データベースシステムの基礎第6版Ramez Elmasri&Navathe
FDがフルかパーシャルかはCK(候補キー)に依存しないことに注意してください。PK(プライマリキー)を呼び出す1つのCKは言うまでもありません。
(2NFの定義には、CKに対する非CK属性の完全な機能依存が含まれますが、保持するFDは完全または部分的です。また、PKも2NFには関係ありません。)
部分的な依存関係は、非主要属性が機能的に候補キーのpartに依存していることを意味します。 (非プライム属性は、any候補キーの一部ではない属性です。)
たとえば、R {ABCD}、および機能依存関係AB-> CDおよびA-> Cから始めましょう。
Rの唯一の候補キーはABです。 CとDは非プライム属性です。 Cは機能的にAに依存しています。Aは、候補キーの部分です。 それが部分的な依存関係。
部分的な依存関係は、非プライム属性(行列式の一部を形成しない属性(プライマリキー/候補キー))は、機能的に依存していますは、主キー/候補キーの一部/部分です。
Partial Dependencyは、主キーが候補キーである必要があり、非主属性が候補キーのサブセット/部分(複数の主キー)に依存している場合に発生する機能依存の一種です。
例を通して部分的な依存関係を理解してみてください:
売り手(Id、製品、価格)
候補キー: Id、Product
非プライム属性:価格
価格属性は製品属性のみに依存しますこれは候補キーのサブセットです候補キー(Id、製品)キー全体ではありません部分的な依存関係と呼ばれます。
Product-> Priceは部分的な依存関係であると言えます。
部分的な機能依存性は、複合キーとの関係でのみ発生します。 1つ以上の非キー属性が主キーの一部に依存している場合、部分的な機能依存が発生します。
例:
テーブル:Stud_id、Course_id、Stud_name、Course_Name
場所:主キー= Stud_id + Course_id
次に、学生の名前を判別するために、主キーの一部であるStud_idのみを使用します。
{Stud_id}-> {Stud_Name}
したがって、Stud_nameはStud_idに部分的に依存しています。これは部分依存と呼ばれます。
この説明が、以前に与えられた答えよりも直感的に依存に訴えることを願っています。
依存関係の分析は属性レベルで動作します。つまり、1つ以上の属性は別の属性によって決定され、キーの概念よりも前になります。 「キーの役割は決定の概念に基づいています。 「決定とは、ある属性の値を知ることで、別の属性の値を決定できる状態です。」データベースシステム12ed
機能依存性とは、1つ以上の属性が1つ以上の属性を決定する場合です。例えば:
社会保障番号->名、姓。
ただし、機能的な依存関係の定義により:
(SSN、名)->姓
これは有効な機能依存関係でもあります。 決定子(別の属性を決定する属性)はスーパーキーと呼ばれます。
したがって、機能的依存関係のサブセットとして、完全な機能的依存関係という概念があります。ここでは、最低限の決定要因が考慮されます。これらの最低限の決定要因をまとめて1つ候補キー(ベクトルの概念のように、私の意見では奇妙な言語の癖)と呼びます。
ただし、候補キーの属性の1つで、リレーション(行のないテーブル)の別の属性を決定するのに十分な場合もありますが、すべてではありません。それは、リレーション内に部分的な機能依存性がある場合です。
2NFの関係に到達するために部分的な依存関係は解決されますが、2NFは推移的な依存関係を解決し、3NF(操作対象)の関係に到達するための「踏み台」(C. Date)です。ただし、部分的な依存関係で最も関心があるのは、それが固有の推移的な依存関係の特定のケースであることです。これは1976年にP. A. Bersteinによってデモンストレーションされました:IF {(x•y)→z but y→z} THEN {(x•y)→y&y→z}。 Bersteinの3NFシンセサイザーアルゴリズムは、これら2つのタイプの関係性欠陥を区別する必要はありません。