Phillip Morgan, the owner of Morgan Importing, makes periodic buying trips to various countries. During the trips, he keeps notes about the items he purchases and basic data about their shipments. He hired a college student as an intern, and she transformed his notes into the spreadsheets in Figure.
This is just sample data. Phillip has purchased hundreds of items over the years, and they have been shipped in dozens of different shipments. Phillip wants to enter the information age, thus he has decided to develop a database of his inventory. He wants to keep track of the items he has purchased, their shipments, and eventually customers and sales.
To get started, he has asked you to create a database for the data in (attached file). To complete this assignment, you must complete following instructions and provide detailed answers for each item:
A. Follow the "Assessing Table Structure" procedure shown. List multivalued dependencies, functional dependencies, candidate keys, primary keys, and foreign keys. State your assumptions.
B. List questions you would ask Phillip to verify your assumptions.
C. Create tables as necessary to eliminate multivalued dependencies, if any.
D. The relationship between shipment and item data could be inferred by matching values in the From cells to values in the City cells. Describe two problems with that strategy.
E. Describe a change to this spreadsheet that does express the shipment/item relationship.
F. Assume that Phillip wishes to create an updateable database from this data. Design tables you think are appropriate. State all referential integrity constraints.
G. Assume that Phillip wishes to create a read-only database from this data. Design tables you think are appropriate. State all referential integrity constraints.
H. Do these data have the multivalue, multicolumn problem? If so, how will you deal with it?
I. Do these data have the inconsistent data problem? If so, how will you deal with it?
J. Do these data have a null value data problem? If so, how will you deal with it?
K. Do these data have the general-purpose remarks problem? If so, how will you deal with it?