目次:
定義-機能依存性とはどういう意味ですか?
機能依存性は、ある属性が別の属性を一意に決定するときに存在する関係です。
Rが属性XおよびYとの関係である場合、属性間の機能依存関係はX-> Yとして表され、Yが機能的にXに依存することを指定します。ここで、Xは行列式セットで、Yは依存属性です。 Xの各値は、正確に1つのY値に関連付けられています。
データベースの機能依存性は、2つの属性セット間の制約として機能します。 機能的な依存関係の定義は、リレーショナルデータベース設計の重要な部分であり、アスペクトの正規化に貢献します。
Techopediaは機能依存性について説明します
YがXのサブセットである場合、機能的な依存関係は自明です。従業員名と社会保障番号(SSN)の属性を持つテーブルでは、SSNは個人名に対して一意であるため、従業員名はSSNに機能的に依存します。 SSNは従業員を具体的に識別しますが、複数の従業員が同じ名前を持つ可能性があるため、従業員名はSSNを区別できません。
機能依存性は、ボイス-コッド標準形と3番目の標準形を定義します。 これにより、属性間の依存関係が保持され、情報の繰り返しがなくなります。 機能依存性は候補キーに関連しています。候補キーはタプルを一意に識別し、リレーション内の他のすべての属性の値を決定します。 場合によっては、機能的に依存するセットは次の場合に既約です。
- 機能的な依存関係の右側のセットは、1つの属性のみを保持します
- 機能的な依存関係の左側のセットは、セットのコンテンツ全体を変更する可能性があるため、削減できません。
- 既存の機能的な依存関係を減らすと、セットの内容が変わる可能性があります
機能的な依存関係の重要な特性は、データベースの正規化で使用されるアームストロングの公理です。 3つの属性(X、Y、Z)を持つリレーションRは、次の条件が満たされた場合にアームストロングの公理が成り立ちます。
- 推移性の公理:X-> YおよびY-> Zの場合、X-> Z
- 反射の公理(サブセットプロパティ):YがXのサブセットである場合、X-> Y
- 拡張の公理:X-> Yの場合、XZ-> YZ
