See attach file for details and charts.
1. The following exercises are based on the Premiere Products database. Using your knowledge of Premiere Products, determine the functional dependencies that exist in the following table. After determining the functional dependencies, convert this table to an equivalent collection of tables that are in third normal form.
Part (PartNum, Description, OnHand, Class, Warehouse, Price,
(OrderNum, OrderDate, CustomerNum, CustomerName, RepNum,
LastName, FirstName, NumOrdered, QuotedPrice) )
2. List the functional dependencies in the following table that concerns invoicing (an application Premiere Products is considering adding to its database), subject to the specified conditions. For a given invoice (identified by the InvoiceNum), there will be a single customer. The customer's number, name, and complete address appear on invoice, as does the date. Also, there may be several different parts appearing on the invoice. For each part that appears, display the part number, description, price, and number shipped. Each customer that orders a particular part pays the same price. Convert this table to an equivalent collection of tables that are in third normal form.
Invoice (InvoiceNum, CustomerNum, LastName, FirstName, Street, City,
State, Zip, Date, (PartNum, Description, Price, NumShipped) )
Let us first define the 3NF.
A relation R is in third normal form if it is in 2NF and every non-key attribute of R is non-transitively dependent on each candidate key of R.
To understand the third normal form, we need to define transitive dependence which is based on one of Armstrong's axioms. Let A, B and C be three attributes of a relation R such that A -> B and B -> C. From these FDs, we may derive A -> C. As noted earlier, this dependence A -> C is transitive.
The 3NF differs from the 2NF in that all non-key attributes in 3NF are required to be directly dependent on each candidate key of the relation. The 3NF therefore insists, in the words of Kent (1983) that all facts in the relation are about the key (or the thing that the key identifies), the whole key and nothing but the key. If some attributes are dependent on the keys transitively then that is an indication that those attributes provide information not about the key but about a non-key attribute. So the ...
Functional dependencies are noted.