1. What is normalization?

Normalization is the process for assigning attributes to entities. Properly executed, the normalization process eliminates uncontrolled data redundancies, thus eliminating the data anomalies and the data integrity problems that are produced by such redundancies.

Normalization does not eliminate data redundancy; instead, it produces the carefully controlled redundancy that lets us properly link database tables.

2. When is a table in 1NF?

A table is in 1NF when all the key attributes are defined (no repeating groups in the table) and when all remaining attributes are dependent on the primary key.  However, a table in 1NF still may contain partial dependencies, i.e., dependencies based on only part of the primary key.

3. When is a table in 2NF?

A table is in 2NF when it is in 1NF and it includes no partial dependencies.  However, a table in 2NF may still have transitive dependencies, i.e., dependencies based on attributes that are not part of the primary key.

4. When is a table in 3NF?

A table is in 3NF when it is in 2NF and it contains no transitive dependencies.

5. When is a table in BCNF?

A table is in Boyce-Codd Normal Form (BCNF) when it is in 3NF and every determinant in the table is a candidate key. For example, if the table is in 3NF and it contains a nonprime attribute that determines a prime attribute, the BCNF requirements are not met. (Reference the text's Figure 5.8 to support this discussion.)This description clearly yields the following conclusions:

·    If a table is in 3NF and it contains only one candidate key, 3NF and BCNF are equivalent.

·    BCNF can be violated only if the table contains more than one candidate key. Putting it another way,  there is no way that the BCNF requirement can be violated if there is only one candidate key.


6.  Given the dependency diagram shown in Figure Q4.6, answer Questions 6a
:

a.  Identify and discuss each of the indicated dependencies.

C1 -> C2 represents a partial dependency, because C2 depends only on C1, rather than on the entire primary key composed of C1 and C3.

C4 -> C5 represents a transitive dependency, because C5 depends on an attribute (C4) that is not part of a primary key.

C1, C3  -> C2, C4, C5 represents a functional dependency, because C2, C4, and C5 depend on the primary key composed of C1 and C3.

7. What is a partial dependency? With what normal form is it associated?

A partial dependency exists when an attribute is dependent on only a portion of the primary key.  This type of dependency is associated with 1NF.

8. What three data anomalies are likely to be the result of data redundancy? How can such anomalies be eliminated?

The most common anomalies considered when data redundancy exists are: update anomalies, addition anomalies, and deletion anomalies. All these can easily be avoided through data normalization. Data redundancy produces data integrity problems, caused by the fact that data entry failed to conform to the rule that all copies of redundant data must be identical.

9. Define and discuss the concept of transitive dependency.

Transitive dependency is a condition in which an attribute is dependent on another attribute that is not part of the primary key. This kind of dependency usually requires the decomposition of the table containing the transitive dependency.

To remove a transitive dependency, the designer must perform the following actions:

·    Place the attributes that create the transitive dependency in a separate table.

·    Make sure that the new table's primary key attribute is the foreign key in the original table.