Domain-key normal form とは

ドメインキー正規形(DK / NF)は、データベースの正規化に使用される通常の形式であり、データベースにドメイン制約およびキー制約以外の制約が含まれていないことが必要です。
ドメイン制約は指定された属性の許容値を指定し、キー制約は指定されたテーブルの行を一意に識別する属性を指定します。
関係のすべての制約がキーとドメインの定義の論理的な結果であり、キーとドメインの制約と条件を強制するとすべての制約が満たされるときに、ドメイン/キーの正規形式が達成されます。したがって、すべての非一時的な異常を回避します。
ドメイン/キー正規形を使用する理由は、明確なドメインまたはキーの制約ではない一般的な制約をデータベースに持たないようにするためです。ほとんどのデータベースでは、属性のドメイン制約とキー制約を簡単にテストできます。しかし、一般的な制約は、通常、維持するのに費用がかかり、データベースを実行するのに費用がかかるストアドプロシージャ(多くの場合、トリガの種類のもの)の形で特別なデータベースプログラミングを必要とする。したがって、一般的な制約は、ドメイン制約とキー制約に分割されます。
多数の異常を含んでいるより小さいデータベースを変換するのではなく、ドメイン/キーの正規形でデータベースを構築するほうがはるかに簡単です。しかし、経験豊富なデータベースプログラマにとっても、ドメイン/キーの正規形データベースを構築することは困難な作業です。したがって、ドメイン/キー正規形は、ほとんどのデータベースに見られる問題を排除しますが、達成するには最もコストのかかる通常の形になりがちです。しかし、ドメイン/キー正規形を達成できないと、時間の経過とともに正規形を下げるだけのデータベースに現れる異常のために、長期的な隠れたコストがかかる可能性があります。
第3正規形、Boyce-Codd正規形、第4正規形および第5正規形は、ドメイン/キー正規形の特別な場合である。すべては、(超)キーに変換できる機能、複数値または結合依存関係のいずれかを持っています。これらの正規形のドメインは制約されていないため、すべてのドメイン制約が満たされています。しかし、より高い正規形をドメイン/キー正規形に変換することは、必ずしも依存性を保持する変換ではなく、したがって必ずしも可能ではない。