This section of the website provides lecture materials, exercises and videos for Information Systems instructors interested in developing courses for teaching normalization of relational databases.
The lectures proceed in order and the examples become increasingly difficult. It is expected
the viewer has done the previous examples before going to a specific video. For example,
the videos on BCNF assume the viewer is familiar with 1NF to 3NF.
It is assumed the idea of a relational database has already been introduced, and the concepts of
tables/relations, attributes/columns, tuples/rows, primary key, foreign key and composite keys
are already known.
The introductory video explaining 1NF to 3NF is here.
The core requirements necessary for constructing a database are domains (data types), functional and multivalue dependencies. A functional dependency means given the value of an attribute or a set of attributes, we can determine the value of a different set of attributes. For example, if I know your student ID, I know your name, gender, date of birth, etc. A multivalue dependency means given the value of an attribute or a set of attributes, we can determine a set of values for an attribute or set of attributes. For example, if I know your student ID, I know which courses you have taken.
The video explaining functional and multivalue dependencies is here.
First normal form is one of the hardest normal forms to figure out. Fundamentally,
if something can be represented in an array, it is a repeating group. Here, we explore
some examples of repeating groups that many people fail to appreciate are repeating groups.
The video explaining functional and multivalue dependencies is here.
We walk through the concept of Boyce-Codd Normal Form. We also explore how Boyce-Codd
Normal Form would look like in an ER diagram. BCNF is a curiousity in that the ER diagram
does not directly translate into the relational tables.