Harjoitus: Johdatus normalisointiin

Tämä on viimeinen kurssin ohjattu harjoitus. Edellisissä ohjatuissa harjoituksissa suunniteltiin, määriteltiin ja toteutettiin yksinkertainen relaatiotietokanta opiskelijarekisterin ylläpidolle yliopistossa.

Tässä harjoituksessa tehdään viimeinen tarkistus luodulle relaatiotietokannalle tarkastamalla sen normalisointia.

Yleensä seuraamalla Luvussa 3.2 esitettyjä transformointisääntöjä saadaan jo valmiiksi hyvin normalisoituja relaatioita (yleensä 3NF tai jopa BCNF). Tämä tehtävä onkin varsin lyhyt, sillä onnistuneen suunnittelun ja transformoinnin seurauksena opiskelijarekisterimme on jo hyvin pitkälti normalisoitu 🥳. Varmistetaan kuitenkin asia vielä erillisellä tarkastelulla.

Tämä harjoitus on jatkoa Harjoitukselle 3.1. Tee ensin Harjoitus 3.1 ennen kuin aloitat tämän harjoituksen.

Ennen harjoituksen aloittamista tutustu seuraaviin lukuihin:

  • Luku 5.1: erityisesti funktionaalisen riippuvuuden määritelmä
  • Luku 5.2: 1NF, 2NF, 3NF, BCNF, 4NF määritelmät pääpiirteissään

Huomautus

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

Tehtävä

Jatketaan Harjoituksessa 3.1 työstettyä opiskelijatietokantaa. Tällä kertaa tarkastellaan tietokannan normaalimuotoja.

Seuraa alla olevissa osioissa olevia vaiheita ja täydennä alla oleviin palautuslaatikoihin vastauksia sen perusteella. Mallivastaus löytyy jokaisen tehtävän yhteydessä.

Funktionaaliset riippuvuudet

# openRiippuvuudet

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ä 2.1, 3.1, 4.1 ja 5.1). Miltä koko ajatus ylipäätään vaikutti? Miten koit hyötyväsi ohjatuista tehtävistä (tai koitko ollenkaan)? Ehdotuksia ohjattujen tehtävien jatkokehitykselle (jos et ole maininnut niitä jo edellisien tehtävien palautteessa)?

# palaute

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