Consider a typical sales invoice that would include the following information. Design a single table to hold all of the information required to store an invoice including this information. Next, apply normalization to reduce this table to third normal form.
Prepare a Word document showing the original and final tables. Include a short summary (2-3 paragraphs) of the problems with the original single table design and how normalization improved the design.
Orders:
- Order_id
- Order_date
- Customer_id
- Customer_name
- Customer_address
- Customer_city
- Customer_state
- Item_id
- Item_description
- Item_qty
- Item_price
- Item_total_price
- Order_total_price
Please consider the following functional dependencies (FDs):
Order_Id -> Customer_id, Order_date, Order_total_price
Item_Id, Order_Id -> Item_Qty, Item_total_price, Item_description, Item_Price
Customer_id -> Customer_Name, Customer_Address, Customer_City, Customer_State
Item_Id -> Item_description, Item_price
You will use these FDs as you analyze the table for normalization.
Also, we do not want to loose any information (e.g. Order_total_price is potential derivable from other pieces of data, we want that field to show up in one of the resulting tables).