Transform the following to first normal form (1nf) and second normal form (2nf)
Customer |
||
Address |
Name |
Cell |
1551 E Main Street |
Corrie |
1511551 |
22 N 2nd Place |
Jenny |
8675309 |
1551 E Main Street |
Joseph |
5155115 |
4848 W 48th Terrace |
Stephen |
8884444 |
342 S Spring Way |
Vikki |
3333342 |
FDs: { ???? } → { ???????, ?h???_?????? }Key: ????
Driver |
|||
Car_Number |
Name |
Make |
Model |
1 |
Bill |
Honda |
Civic |
2 |
Charlie |
Ford |
Escort |
3 |
Linda |
Ford |
Taurus |
4 |
Nathan |
Subaru |
Outback |
FDs: { ???_?????? } → { ????, ????? } { ????? } → { ???? }
Key: ???_??????, ?????
Order |
|||
Driver |
Is_Delivery |
Order_ID |
Pizza_ID |
Bill |
TRUE |
1 |
4 |
Linda |
TRUE |
2 |
1 |
NULL |
FALSE |
3 |
7 |
Bill |
TRUE |
4 |
1 |
FDs: { ?????_?? } → { ??????, ?? ????????, ?????_??}Key: ?????_??
Pizza |
|||||||||
Name |
Crust |
Cheese |
Pizza_ID |
Price |
Size |
Sauce |
Topping_1 |
Topping_2 |
Topping_3 |
Big Cheese |
thick |
mozzarella |
1 |
9.50 |
large |
red |
NULL |
NULL |
NULL |
Big Cheese |
thin |
mozzarella |
2 |
8.50 |
large |
red |
NULL |
NULL |
NULL |
Cheese Just Right |
thick |
mozzarella |
3 |
7.50 |
medium |
red |
NULL |
NULL |
NULL |
Cheese Just Right |
thin |
mozzarella |
4 |
6.50 |
medium |
red |
NULL |
NULL |
NULL |
Lil Cheese |
thick |
mozzarella |
5 |
6.00 |
small |
red |
NULL |
NULL |
NULL |
Lil Cheese |
thin |
mozzarella |
6 |
5.00 |
small |
red |
NULL |
NULL |
NULL |
Mushroom n Pep |
thick |
mozzarella |
7 |
12.50 |
large |
red |
mushroom |
pepperoni |
NULL |
Hawaiian |
thin |
mozzarella |
8 |
12.00 |
large |
red |
ham |
pineapple |
NULL |
Meatballa |
thin |
fontina |
9 |
11.00 |
medium |
white |
meatball |
NULL |
NULL |
Popeye's Delight |
thin |
fontina |
10 |
11.00 |
medium |
white |
chicken |
garlic |
Spinach |
Popeye's Delight |
thin |
fontina |
11 |
12.00 |
large |
red |
chicken |
garlic |
Spinach |
Popeye's Delight |
thin |
mozzarella |
12 |
11.75 |
large |
red |
chicken |
garlic |
Spinach |
Veggie |
thin |
none |
13 |
6.50 |
small |
red |
onion |
pepper |
NULL |
FDs: ?????_?? → {????, ?????, ?h????, ????, ?????}
????,?????,?h????,???? →{?????}
???? →{???????_1,???????_2,???????_3}
Key: {?????_??}
Restaurant |
||
Address |
Name |
Phone_Number |
Gainesville |
Panucci's Pizza |
3523000 |
Old New York |
Panucci's Pizza |
2123000 |
Mystic, Connecticut |
Mystic Pizza |
2011988 |
Tri-County, USA |
Pizza Planet |
4328765 |
Key: ????, ???????
{ ????, ??????? } → { ?h???_?????? }
Topping |
||
Calories |
Food_Group |
Name |
175 |
meat |
chicken |
20 |
seasoning |
garlic |
225 |
meat |
ham |
300 |
meat |
meatball |
15 |
veggie |
mushroom |
30 |
veggie |
onion |
40 |
veggie |
pepper |
250 |
meat |
pepperoni |
50 |
fruit |
pineapple |
10 |
veggie |
spinach |
Key: ????
{ ???? } → { ????????, ????_????? }
We go for normalization in order to remove the redundancy.
1NF:
In 1NF, attribute values in a table or relation should be atomic (i.e. neither multivalued nor composite), and also we can say every table is in 1NF since the formalised definition of relation guarantee that the attribute values should be atomic.
/* So here I am assuming that all the relation or table are already in 1NF, otherwise, it will violate the formalised definition of relation. */
2NF:
In 2NF, we don't allow any partial dependencies.
Transform the following to first normal form (1nf) and second normal form (2nf) Customer Address Name...
At the Pizzeria di Sicily, a customer has a choice of four different crusts: regular, whole wheat, gluten-free, or cauliflower; seven different sauces: red sauce, Alfredo sauce, pesto, olive oil, BBQ sauce, creamy garlic sauce, or chili sauce; twelve cheeses: swiss, parmesan, paneer, gorgonzola, asiago, cream cheese, cheddar, feta, goat cheese, ricotta, mascarpone, or fontina; ten meat toppings: prosciutto, hot Italian sausage, sardines, bacon, meatballs, barbeque chicken, pastrami, tuna, brisket, or pepperoni; thirty-nine veggie toppings: garlic, bell peppers, rhubarb, dill...