Elementary key normal form
Elementary key normal form (EKNF) is a subtle enhancement on third normal form, thus EKNF tables are in 3NF by definition. This happens when there is more than one unique compound key and they overlap. Such cases can cause redundant information in the overlapping column(s).
A table is in EKNF if and only if all its elementary functional dependencies begin at whole keys or end at elementary key attributes. For every full non-trivial functional dependency of the form X→Y, either X is a key or Y is (a part of) an elementary key.[1]
In this definition, an elementary functional dependency is a full functional dependency (a non-trivial functional dependency X → A such that there is no functional dependency X' → A that also holds with X' being a strict subset of X), and an elementary key is a key X for which there exists an attribute A such that X → A is an elementary functional dependency.
EKNF was defined by Carlo Zaniolo in 1982.[1]
Example
For an example of a table whose highest normal form is EKNF, see Boyce–Codd normal form#Achievability of BCNF.
Notes
- Zaniolo, Carlo (September 1982). "A New Normal Form for the Design of Relational Database Schemata" (PDF). ACM Transactions on Database Systems. 7 (3).
References
- Halpin, T. A.; Morgan, Antony J.; Morgan, Tony. Information Modeling and Relational Databases.
- Date, C. J. "Elementary key normal form (EKNF)". Database Design and Relational Theory.
- Celko, Joe. SQL for Smarties: Advanced SQL Programming (3rd ed.).