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

DBMSの依存関係に参加する


結合の依存関係とは何ですか?

複数のテーブルを結合することによってテーブルを再作成でき、この各テーブルにテーブルの属性のサブセットがある場合、そのテーブルは結合依存関係にあります。これは多値従属性の一般化です

結合依存関係は5NFに関連付けることができます。この場合、関係は5NFにありますが、それはすでに4NFにあり、それ以上分解できない場合に限ります。

<従業員>

EmpName
EmpSkills
EmpJob (割り当てられた仕事)
トム
ネットワーキング
EJ001
ハリー
Web開発
EJ002
ケイティ
プログラミング
EJ002


上記の表は、次の3つの表に分解できます。したがって、5NFにはありません。

EmpName
EmpSkills
トム
ネットワーキング
ハリー
Web開発
ケイティ
プログラミング

EmpName
EmpJob
トム
EJ001
ハリー
EJ002
ケイティ
EJ002

EmpSkills
EmpJob
ネットワーキング
EJ001
Web開発
EJ002
プログラミング
EJ002


参加の依存関係-

{(EmpName、EmpSkills)、(EmpName、EmpJob)、(EmpSkills、EmpJob)}

上記の関係には結合依存関係があるため、5NFには含まれていません。つまり、上記の3つの関係の結合関係は、元の関係 と同じです。 。


  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つのコフマン条件が当てはまる場合にのみ発生します。これらの条件は、必ずしも相互に排他的ではありません。それらは: 相