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つの関係の結合関係は、元の関係
-
DBMSの機能依存性
機能従属性とは 名前が示すように、DBMSの機能依存性は、相互に依存するテーブルの属性間の関係です。 E. F. Coddによって導入され、データの冗長性を防ぎ、悪い設計について知るのに役立ちます。 (矢印記号)で表されます。 次に、以下は矢印記号-で属性間の機能依存性を表します。 B 上記は次のことを示唆しています: 例 以下は、関数従属性を理解しやすくする例です- があります 2つの属性を持つテーブル-DeptId およびDeptName 。 DeptId =部門ID DeptName =部門名 DeptId 主キ
-
DBMSのデッドロック
デッドロックは、2つ以上のプロセスが、他のプロセスによって保持されている実行を完了するために何らかのリソースを必要とする場合に発生します。 上の図では、プロセス1にはリソース1があり、リソース2が必要です。同様にプロセス2にはリソース2があり、リソース1が必要です。これらの各プロセスは、完了するために他のリソースを必要としますが、どちらもリソースを放棄する意思はありません。したがって、プロセス1とプロセス2はデッドロック状態にあります。 コフマンの状態 デッドロックは、4つのコフマン条件が当てはまる場合にのみ発生します。これらの条件は、必ずしも相互に排他的ではありません。それらは: 相