Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Gala Products is considering adding to its database an invoicing application, su

ID: 3808379 • Letter: G

Question

Gala Products is considering adding to its database an invoicing application, 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 the 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. List all functional dependencies. Show the table in 1NF and 2NF while converting.

Invoice ( InvoiceNum, CustomerNum, LastName, FirstName, Street, City, State, Zip, Date, (PartNum, Description, Price, NumShipped) )

Explanation / Answer

Functional Dependencies:

CustomerNum->LastName, FirstName, Street, City, State,Zip

InvoiceNum->Date

PartNum->Description, Price, NumShipped

Zip->City, State

1 NF (No multi valued attributes) ----------- Table 1 ( InvoiceNum, PartNum, CustomerNum, LastName, FirstName, Street, City, State, Zip, Date)

Table 2 (PartNum, Description, Price, NumShipped)

2 NF (No partial dependency) ------------ Table 1 ( InvoiceNum, PartNum, CustomerNum, Date)

Table 2 (PartNum, Description, Price, NumShipped)

Table 3 (CustomerNum, LastName, FirstName, Street, City, State, Zip)

3 NF (No Transitive dependency) ------------ Table 1 ( InvoiceNum, PartNum, CustomerNum, Date)

Table 2 (PartNum, Description, Price, NumShipped)

Table 3 (CustomerNum, LastName, FirstName, Street, Zip)

Table 4 (City, State, Zip)