MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

DBMSの完全に機能する依存関係


属性が適切なサブセットではなく、その属性に機能的に依存している場合、その属性は別の属性に完全に機能的に依存しています。

たとえば、属性Qは、Pの適切なサブセットではなく、Pに機能的に依存している場合、別の属性Pに完全に機能的に依存しています。

例を見てみましょう-

ProjectID
ProjectCost
001
1000
001
5000

EmpID
ProjectID
日数
E099
001
320
E056
002
190

上記の関係は次のように述べています-

日数は、プロジェクトに費やされた日数です。

EmpID、ProjectID、ProjectCost->日数


ただし、完全に機能に依存しているわけではありません。

一方、サブセットは {EmpID、ProjectID} 従業員がプロジェクトに費やした{日数}を簡単に特定できます。

これは、完全に機能的な依存関係を要約して示します-

{EmpID、ProjectID}->(日数)

  1. DBMSの機能依存性

    機能従属性とは 名前が示すように、DBMSの機能依存性は、相互に依存するテーブルの属性間の関係です。 E. F. Coddによって導入され、データの冗長性を防ぎ、悪い設計について知るのに役立ちます。 (矢印記号)で表されます。 次に、以下は矢印記号-で属性間の機能依存性を表します。 B 上記は次のことを示唆しています: 例 以下は、関数従属性を理解しやすくする例です- があります 2つの属性を持つテーブル-DeptId およびDeptName 。 DeptId =部門ID DeptName =部門名 DeptId 主キ

  2. DBMSのデッドロック

    デッドロックは、2つ以上のプロセスが、他のプロセスによって保持されている実行を完了するために何らかのリソースを必要とする場合に発生します。 上の図では、プロセス1にはリソース1があり、リソース2が必要です。同様にプロセス2にはリソース2があり、リソース1が必要です。これらの各プロセスは、完了するために他のリソースを必要としますが、どちらもリソースを放棄する意思はありません。したがって、プロセス1とプロセス2はデッドロック状態にあります。 コフマンの状態 デッドロックは、4つのコフマン条件が当てはまる場合にのみ発生します。これらの条件は、必ずしも相互に排他的ではありません。それらは: 相