
Relationsdatabaser och normalisering
Principer för att strukturera data i tabeller och tillämpa normaliseringsregler för att undvika redundans.
Kort sammanfattning:Relationsdatabaser bygger på att data lagras i tabeller som är länkade till varandra. För att undvika dubbellagring och säkerställa dataintegritet använder vi normalisering. Detta är en systematisk process i flera steg (normalformer) som är central för att skapa professionella databaser.
Om detta ämne
Relationsdatabaser bygger på att data lagras i tabeller som är länkade till varandra. För att undvika dubbellagring och säkerställa dataintegritet använder vi normalisering. Detta är en systematisk process i flera steg (normalformer) som är central för att skapa professionella databaser.
I kursplanen för Databasteknik betonas vikten av att optimera databasstrukturer. Eleverna lär sig att identifiera primärnycklar och främmande nycklar för att skapa stabila kopplingar. Normalisering kan upplevas som torrt och teoretiskt, men det blir begripligt när eleverna får se hur en dåligt strukturerad databas leder till problem vid uppdateringar och raderingar.
Nyckelfrågor
- Vad är en primärnyckel och en främmande nyckel?
- Varför är normalisering viktigt i en relationsdatabas?
- Hur normaliserar man en databas till tredje normalformen (3NF)?
Se upp för dessa missuppfattningar
Vanlig missuppfattningAtt normalisering alltid innebär att databasen blir snabbare.
Vad man ska lära ut istället
Normalisering minskar redundans men kan kräva fler JOIN-operationer, vilket ibland kan sänka läshastigheten. Genom att diskutera avvägningen mellan lagringsutrymme och prestanda får eleverna en djupare förståelse.
Vanlig missuppfattningAtt en främmande nyckel måste ha samma namn som primärnyckeln den pekar på.
Vad man ska lära ut istället
Det är god praxis men inget tekniskt krav. Genom att experimentera med olika namn i SQL-kod ser eleverna att det är datatypen och referensen som räknas.
Idéer för aktivt lärande
Se alla aktiviteter→Utforskande cirkel
Normaliserings-resan
Ge eleverna en stor, 'platt' Excel-tabell full med redundant data. I smågrupper ska de stegvis bryta ner den till första, andra och slutligen tredje normalformen genom att skapa nya tabeller.
Simuleringsövning
Databas-haveriet
Visa vad som händer när man raderar en rad i en onormaliserad tabell (t.ex. att all information om en kund försvinner bara för att man tar bort en order). Eleverna får i uppdrag att 'laga' strukturen för att förhindra detta.
EPA (Enskilt-Par-Alla)
Nyckel-jakt
Eleverna får ett antal tabeller utan markerade nycklar. De ska identifiera lämpliga primärnycklar och förklara varför ett personnummer eller ett unikt ID är bättre än ett namn.