関数の依存関係は、2 つの属性間に存在する関係です。通常、テーブル内の主キーと非キー属性の間に存在します。
X → Y
FD の左側は行列式として知られ、生成の右側は従属として知られています。
例えば:
Emp_Id、Emp_Name、Emp_Address という属性を持つ従業員テーブルがあると仮定します。
分数として .06
ここで、Emp_Id 属性は従業員テーブルの Emp_Name 属性を一意に識別できます。これは、Emp_Id がわかれば、それに関連付けられている従業員名がわかるためです。
関数の依存関係は次のように記述できます。
Emp_Id → Emp_Name
Emp_Name は機能的に Emp_Id に依存していると言えます。
関数の依存関係の種類
1. 自明な関数の依存関係
- B が A の部分集合である場合、A → B には自明な関数依存関係があります。
- 次の依存関係も A → A、B → B のような単純なものです。
例:
Consider a table with two columns Employee_Id and Employee_Name. {Employee_id, Employee_Name} → Employee_Id is a trivial functional dependency as Employee_Id is a subset of {Employee_Id, Employee_Name}. Also, Employee_Id → Employee_Id and Employee_Name → Employee_Name are trivial dependencies too.
2. 自明ではない関数の依存関係
- B が A のサブセットでない場合、A → B には自明ではない関数依存関係があります。
- A 交差 B が NULL の場合、A → B は完全な非自明と呼ばれます。
例:
ID → Name, Name → DOB