Ass1 Normalization
Ass1 Normalization
Assignment I
Normalization (paper lab)
The purpose of this exercise is to get understanding of the different normal forms and of the problems that can be prevented by normalization. After the lab, the student should be able to determine if a database schema conforms to the Boyce-Codd normal form (BCNF). The students should be familiar with modeling real world scenarios in terms of ER model and translate an ER diagram into a relational database schema.
1 Preparations
Read about normalization in some database book.
2 Background reading
Elmasri/Navathe: chapters 10 and 3, sections 11.1 and 11.2.
4 Exercises
1) Specify all functional dependencies without redundancies (see definition of minimal sets of functional dependencies in section 10.2.4) for each table of the library database. Then state which normal form (1NF, 2NF, 3NF or BCNF) each of the existing tables is, and why. For each table that doesnt fulfill the requirements for BCNF, explain the problems that this lack of normalization has and their potential consequences. Give some examples. Design a new database, with different tables, where all the tables fulfill BCNF without losing any information.
2) 3)
Hints: consider dates as atomic (there is a type date in SQL); assume that there is one telephone number per address; you can choose any of the approaches for relational database design: top-down (starting with ER modeling) or bottom-up (starting with specification of all functional dependencies and applying a normalization algorithm). For more details see chapter 11 with sections 11.1 and 11.2, and section 7.1.
7 Handing in solutions
Your report should contain your answers to the questions in part 4. The database design in exercise 4.3 should be presented as both ER diagram and the corresponding relational tables in format table_name(column1, column2,). Motivate why your relations are in BCNF by specifying all functional dependencies.