Domain Key Normal Form in DBMS (original) (raw)

Last Updated : 24 Apr, 2026

The Domain-Key Normal Form (DKNF) is the highest possible normal form in database normalization. In simpler terms, Domain constraints define the valid set of values an attribute can take & Key constraints ensure that each record in the table is uniquely identifiable. Thus, in a DKNF relation:

**Note: A relation is said to be in Domain-Key Normal Form iff, all constraints and dependencies in the database can be enforced solely by enforcing domain constraints and key constraints.

Understanding DKNF with an Example

**Consider two relations: CAR(MAKE, vin#) & MANUFACTURE(vin#, country), Where:

Now, assume the following business constraints:

  1. If MAKE is HONDA or MARUTI, the first character of vin# must be 'B' if the country is INDIA.
  2. If MAKE is FORD or ACCURA, the second character of vin# must be ‘B’ if the country is INDIA.

These are general constraints that cannot be easily represented using only domain and key constraints. To enforce them, one must use procedural checks or assertions, which means the relation is not in DKNF.

**Note: Thus, while DKNF aims for maximum data integrity, not all constraints can be expressed purely using domains and keys, limiting its practical use.

Why DKNF is Rarely Used in Practice

While DKNF provides the ideal theoretical design, it is rarely used in real-world databases because:

Key Points

Feature Domain-Key Normal Form (DKNF)
Definition A relation is in DKNF if all constraints are expressible using domain and key constraints only.
Goal Eliminate all possible anomalies and irregular dependencies.
Dependencies Allowed Only domain and key constraints.
Practical Usage Very limited due to complexity.
Advantage Ensures maximum data integrity.
Disadvantage Difficult to implement and maintain.

Advantages

**Disadvantages