Скачиваний:
101
Добавлен:
30.04.2013
Размер:
1.64 Mб
Скачать

Overview of the Normal Forms

Overview of the Normal Forms

The following are formal definitions for the most common normal forms.

Functional Dependence (FD)

Given an entity E, attribute B of E is functionally dependent on attribute A of E if and only if each value of A in E has associated with it precisely one value of B in E (at any one time). In other words, A uniquely determines B.

Full Functional Dependence

Given an entity E, an attribute B of E is fully functionally dependent on a set of attributes A of E if and only if B is functionally dependent on A and not functionally dependent on any proper subset of A.

First Normal Form (1NF)

An entity E is in 1NF if and only if all underlying values contain atomic values only. Any repeating groups (that might be found in legacy COBOL data structures, for example) must be eliminated.

Second Normal Form (2NF)

An entity E is in 2NF if it is in 1NF and every non-key attribute is fully dependent on the primary key. In other words, there are no partial key dependencies — dependence is on the entire key K of E and not on a proper subset of K.

Third Normal Form (3NF)

An entity E is in 3NF if it is in 2NF and no non-key attribute of E is dependent on another non-key attribute. There are several equivalent ways to express 3NF. Here is a second: An entity E is in 3NF if it is in 2NF and every non-key attribute is non-transitively dependent on the primary key. A third and final way is: An entity E is in 3NF if every attribute in E carries a fact about all of E (2NF) and only about E (as represented by the entity’s entire key and only by that key). One way to remember how to implement 3NF is using the following quip: “Each attribute relies on the key, the whole key, and nothing but the key, so help me Codd!”

7–2 ERwin Methods Guide