English version of the materials are work in progress!

Expect bugs, typos, and other issues. The English version is expected to be completed during spring 2026.

Exercise: Introduction to Normalization

This is the last guided exercise of the course. In the previous guided exercises, we designed, defined, and implemented a simple relational database for maintaining a student registry at a university.

In this exercise, we will do a final check on the created relational database by checking its normalization.

Usually, following the transformation rules presented in Chapter 3.2 already yields well-normalized relations (usually 3NF or even BCNF). This task is indeed quite short, because as a result of successful design and transformation, our student registry is already largely normalized 🥳. However, let's ensure this with a separate examination.

This exercise is a continuation of Exercise 3.1. Do Exercise 3.1 first before starting this exercise.

Before starting the exercise, familiarize yourself with the following chapters:

  • Chapter 5.1: especially definition of functional dependency
  • Chapter 5.2: definitions of 1NF, 2NF, 3NF, BCNF, and 4NF in main points

Huomautus

Jos huomaat virheitä tai sinulla on kysyttävää tehtävistä, ota yhteyttä kurssin opettajiin

Assignment

Let's continue with the student database worked on in Exercise 3.1. This time we examine the database's normal forms.

Follow the steps in the sections below and complete the answers in the submission boxes below based on that. A model answer is found in connection with each task.

Functional Dependencies

# openDependencies

Normaalimuotojen tarkastelu

# openNormalisointi

Lopuksi

Kun olet valmis, voit jatkaa eteenpäin muihin harjoitustehtäviin.

Huh! Tämä oli kurssin viimeinen ohjattu tehtävä. Enempää opiskelijatietokantaa ei enää tule 🙂.

Tämä tehtävä oli "pieni" loppukevennys, jolla kerrattiin hieman, mitä kaikkea edellisissä tehtävissä saatiin aikaan. Samalla tutustuttiin hieman normaalimuotoihin ja niihin liittyviin yleisiin nyrkkisääntöihin.

Pyydän lopuksi jättämään hieman palautetta tämän kurssin ohjatuista tehtävistä (Tehtävät 2.1, 3.1, 4.1 ja 5.1). Miltä koko ajatus ylipäätään vaikutti? Miten koit hyötyväsi ohjatuista tehtävistä (vai koitko ollenkaan)? Ehdotuksia ohjattujen tehtävien jatkokehitykseen (jos et ole maininnut niitä jo aiempien tehtävien palautteissa)?

# palaute

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.