$24
This homework is worth 10 points (10/100, or 10%) toward your final grade.
Create 3rd Normal Forms for each of the six documents on the following pages. Then combine into a single set of 3rd Normal Form Relations depicting all known data items for this company.
You have a choice of how to format/present your finished results. “Spreadsheet” or “Schema”.
Spreadsheet.
Record your results in columnar format imitating the spreadsheet template provided. Create one tab/worksheet in the spreadsheet for each of the six documents. Then create a final tab/worksheet for the combined solution. Each tab/worksheet should have four columns:
Unnormalized 1st Normal Form 2nd Normal Form 3rd Normal Form
Begin by listing, for each document, all data elements (“attributes”) on the document in the “unnormalized” column. List the document name in UPPER CASE and/or HIGHLIGHT it. Identify the candidate keys.
For example:
Unnormalized
PRODUCT SALES REPORT
Product No
Description
Invoice
Inv Date
Cust No
Name
Qty
Price
After listing all documents (“entities”) and data elements (“attributes”) in the “unnormalized” column, then go through the list and put all data into First Normal Form. Replace document names with entity names where possible. Then do the same for second and third normal form.
Page 1
Homework # 1 – Data Normalization
If an entity does not change from first to third normal form, then simply copy and paste the data in the second normal form column to show that the data is already in second normal form.
Example:
Schema.
Record your results in schema format imitating the example provided. Create one section in your submission for each of the six documents. Then create a final section for the combined solution. Each section should have four schemas:
Unnormalized 1st Normal Form 2nd Normal Form 3rd Normal Form
Begin by listing, for each document, all data elements (“attributes”) on the document in the “unnormalized” schema. List the document name in UPPER CASE and/or HIGHLIGHT it. Identify the candidate keys with underscore.
Page 2
Homework # 1 – Data Normalization
For example:
After listing all documents (“entities”) and data elements (“attributes”) in the “unnormalized” section, then go through the list and put all data into First Normal Form. Replace document names with entity names where possible. Then do the same for second and third normal form.
If an entity does not change from first to third normal form, then simply copy and paste the data in the second normal form section to show that the data is already in second normal form.
Example:
Unnormalized Section
CustomerOrder(OrderNumber, OrderDate, DeliveryDate, CustomerDiscount, DiscountAmount, Customer Discount, Invoiced amount, CustomerNumber, CustomerName, BillToAddress, BillToCity, BillToState, BillToZip, ShipToAddress, ShipToCity, ShipToState, ShipToZip, ProductNumber, Description, QuantityOrdered, UnitPrice, OrderTotal)
FirstNormalForm Section
CustomerOrder(OrderNumber, OrderDate, DeliveryDate, CustomerDiscount, DiscountAmount, Customer Discount, Invoiced amount, CustomerNumber, CustomerName, BillToAddress, BillToCity, BillToState, BillToZip, ShipToAddress, ShipToCity, ShipToState, ShipToZip, Order total)
OrderProduct(Order number, Product Number,ProductDescription, Quantity, UnitPrice)
SecondNormalForm Section
CustomerOrder(OrderNumber, OrderDate, DeliveryDate, CustomerDiscount, DiscountAmount, Customer Discount, Invoiced amount, CustomerNumber, CustomerName, BillToAddress, BillToCity, BillToState, BillToZip, ShipToAddress, ShipToCity, ShipToState, ShipToZip, Order total)
OrderProduct(Order number, Product Number, Quantity, Total)
Page 3
Homework # 1 – Data Normalization
Product(Product Number, Description, UnitPrice)
ThirdNormalForm Section
CustomerOrder(OrderNumber, OrderDate, DeliveryDate, CustomerDiscount, DiscountAmount, Customer Discount, Invoiced amount, Order total)
Customer(CustomerNumber, , CustomerName, BillToAddress, BillToCity, BillToState, BillToZip, ShipToAddress, ShipToCity, ShipToState, ShipToZip,)
OrderProduct(Order number, Product Number, Quantity, Total)
Product(Product Number, Description, UnitPrice)
Page 4
Homework # 1 – Data Normalization
These documents represent some of the data used by a small midwestern chemical distribution company. Some of the forms are computer-generated reports. Some are computer data-entry screens.
Some of the data items deserve a little explanation.
Customers are allowed flexible prices which vary based on the customer’s overall purchase volume. There are four levels of discounted prices for each product. Each customer carries a single discount code A, B, C or D. A Customer with an "A" discount code, for instance, will be charged the "A" price for all products he orders. When a product is ordered by a customer, the sales person entering the order must check the customer’s discount code and then charge the corresponding price for the product.
Location Code is a grid reference within a depot (“warehouse”) identifying a physical palette spot or bin on the depot floor. Location Codes are only unique within Depot Code.
A customer is always served out of only one depot.
A Customer belongs to only one Sales Territory.
Each Customer has a unique identifying customer number.
There are 16 Product Classes, each product class belongs to one of four Inventory Codes.
The “Screen ID” field and the “Add/Change/Delete” fields on the online screen images are operating features of the software that displays and processes the online screens. These attributes do NOT need to be stored in a database and they can be left out of your normalized data.
Page 5
Homework # 1 – Data Normalization
Product Sales Report
Page 1
Product
No: 32010
Description: Nucleotide Emulsifier
Invoice
Inv. Date
Cust No.
Cust Name
Quantity
Price
928321
01/03/2016
3621417
J. T. Harman
20
800
928375
02/03/2016
4273765
B. Baggins
10
430
928430
04/04/2016
1672349
N. Robinson
32
1280
928774
07/19/2016
3357669
Gombler & Sons
3
138
928901
09/06/2016
1473332
Thom & Hall
15
630
Customer Invoice
Page 1
Invoice No:
928321
Invoice Date: 01/31/2016
Customer
3621417
Name & Address J. T. Harman & Company, LLC
22 Newbolt Rd.
Framingham, MN
52410
Product
Product
Std
Disc
Disc
Quantity
Price
Number
Description
Price Code
Price
42161
Dye Wash Benzocaine
93.50
A
90.00
10
900.00
63214
Flax Seed Oil
10.60
A
8.00
20
160.00
17719
Cod Liver Oil
14.30
A
12.00
30
360.00
19214
Vitamin D Extract
96.50
A
92.00
10
920.00
32010
Nucleotide Emulsifier
46.00
A
40.00
20
800.00
___
______
Invoice Total
90
3140.00
Page 6
Homework # 1 – Data Normalization
SALES TERRITORY REPORT
SALES TERRITORY 812
CUSTOMER NO.
ORDERS
ACCOUNT
ORDERS
YTD
BALANCE
VALUE
6214312
6
254.50
1,000.00
7121416
10
0.00
500.00
9161417
20
0.00
400.00
3241718
40
400.60
500.00
6141846
50
900.00
600.00
7219612
100
25.25
700.00
6142361
204
30.60
100.00
7194871
30
32.70
200.00
8141714
60
100.00
1,000.00
520
5,000.00
Page 7
Homework # 1 – Data Normalization
This is an image of the Customer Entry screen, used to add a new customer to the system or change a customer’s information.
Customer Entry
Screen ID: C01
Add
Customer Number
Change
Sales Territory
Depot
Customer Name
Address
Trade Class
Discount Code
Substitute
Credit Limit
Delivery Instructions
Page 8
Homework # 1 – Data Normalization
Product Warehouse Stock Report
Page 1
Product No:
42161
Depot
Stock
Location
YTD Orders
Code
Quantity
Code
01
1,000
B 61
22,341
02
0
A 42
20,341
03
2,142
A 42
1,000
04
6,100
F 99
60,000
05
7,120
H 24
1,342
06
2,000
J 16
6,214
07
600
B 12
7,418
08
304
D 14
8,213
09
0
C 32
9,141
10
260
D 22
8,762
_____
______
Totals
19,526
144,772
Page 9
Homework # 1 – Data Normalization
This is an image of the Product Entry screen used to add a new product to the system, and/or change/delete an existing product from the system. Deleting a product merely marks it “inactive”. Its history is NOT actually deleted from the database.
Product Entry
Screen ID:
P01
Action
Add
Product Number
Change
Weight
Delete
Pack Unit
Description
Product Class
Inventory Code
Discount Prices
A
B
Standard Price
C
D
Page 10