Chapter 14 Review Questions 1) Why should NULLs in a relation be avoided as much as possible? Discuss the problem of spurious tuples and how we may prevent it. NULLs in a relations should be avoided because attributes with Null are often placed in the wrong relation with the primary key. Spurious tuples are accidental output from a natural join. This can be prevented with the lossless join condition. 2) Define 1st, 2nd, and 3rd normal forms when only primary keys are considered. The first normal form is still considered part of the definition of a relation. It is combining a related attribute into the relation. All attributes depend on the key. The second normal form can split up with the prime attributes. There is a full functional dependency. Attributes depend on the whole key. The third normal form has transitive functional dependency. Attributes depend on nothing but the key. 3) What undesirable dependencies are avoided when a relation is in 2NF? All non prime attributes being related to all prime attributes after normalization. 4) What undesirable dependencies are avoided when a relation is in 3NF? Non transitive outcomes. Anything with dependencies that are not the primary key. 5) List all functional dependencies of the following relation: A -> {B,C} TUPLE#->A 6) Consider the following relation: CAR_SALE(Car#, Date_sold, Salesperson#, Commission%, Discount_amt) Assume that a car may be sold by multiple salespeople, and hence {Car#, Salesperson#} is the primary key. Additional dependencies are Date_sold → Discount_amt and Salesperson# → Commission% Based on the given primary key, is this relation in 1NF, 2NF, or 3NF? Why or why not? How would you successively normalize it completely? 2NF because there is full functional dependency. I would normalize it by keeping the functional depency between cars and salesperson with all attributes.