Intro to Programming Database Internet of Things IT Project Management Networking Web Development For Research Students

Introduction

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 current contents are:

Any questions or comments should be directed to: The creator's email

Functional and Multivalue Dependencies

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.


Any questions or comments should be directed to: The creator's email

Repeating Groups

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.


Any questions or comments should be directed to: The creator's email

Simple Normalization Exercise

We walk through a simple example of normalization from 1NF to 3NF.


The exercise itself can be found here.

Any questions or comments should be directed to: The creator's email

Boyce-Codd Normal Form

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.


Any questions or comments should be directed to: The creator's email

An Exercise Where BCNF=3NF

We walk through an exercise where there are no cyclic functional dependencies and show that BCNF is 3NF.


The exercise the video is based on can be found here.

Any questions or comments should be directed to: The creator's email

An Exercise Where BCNF is not 3NF

We walk through an exercise where there are cyclic functional dependencies such that BCNF is not 3NF.


The exercise the video is based on can be found here.

Any questions or comments should be directed to: The creator's email

4th and 5th NF

We walk through 4th and 5th NF.


Any questions or comments should be directed to: The creator's email