fourth normal form (4nf) is a normal form used in database normalization. introduced by ronald fagin in 1977, 4nf is the next level of normalization after boyceâcodd normal form (bcnf). whereas the second, third, and boyceâcodd normal forms are concerned with functional dependencies, 4nf is concerned with a more general type of dependency known as a multivalued dependency. a table is in 4nf if and only if, for every one of its non-trivial multivalued dependencies x \twoheadrightarrow y, x is a superkeyâthat is, x is either a candidate key or a superset thereof."a relation schema r* is in fourth normal form (4nf) if, whenever a nontrivial multivalued dependency x \twoheadrightarrow y holds for r*, then so does the functional dependency x â a for every column name a of r*. intuitively all dependencies are the result of keys."  ==multivalued dependencies== if the column headings in a relational database table are divided into three disjoint groupings x, y, and z, then, in the context of a particular row, we can refer to the data beneath each group of headings as x, y, and z respectively. a multivalued dependency x \twoheadrightarrow y signifies that if we choose any x actually occurring in the table (call this choice xc), and compile a list of all the xcyz combinations that occur in the table, we will find that xc is associated with the same y entries regardless of z. so essentially the presence of z provides no useful information to constrain the possible values of y. a trivial multivalued dependency x \twoheadrightarrow y is one where either y is a subset of x, or x and y together form the whole set of attributes of the relation. a functional dependency is a special case of multivalued dependency. in a functional dependency x â y, every x determines exactly one y, never more than one. ==example== consider the following example: {| class="wikitable" |+ pizza delivery permutations ! restaurant !! pizza variety !! delivery area |- |a1 pizza||thick crust||springfield |- |a1 pizza||thick crust||shelbyville |- |a1 pizza||thick crust||capital city |- |a1 pizza||stuffed crust||springfield |- |a1 pizza||stuffed crust||shelbyville |- |a1 pizza||stuffed crust||capital city |- |elite pizza||thin crust||capital city |- |elite pizza||stuffed crust||capital city |- |vincenzo's pizza||thick crust||springfield |- |vincenz
Database_normalization