logo

機能依存性

関数の依存関係は、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 に依存していると言えます。

関数の依存関係の種類


DBMS 機能の依存関係

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