Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Normalisering (databaser, del 8)

Lignende præsentationer


Præsentationer af emnet: "Normalisering (databaser, del 8)"— Præsentationens transcript:

1 Normalisering (databaser, del 8)

2 RHS – Informationsteknologi
Normalisering Normalisering er en teknik til at forbedre et database-design, i forhold til at undgå vores dødsfjender: Redundans – at noget data forekommer mere end én gang Inkonsistens – at noget data er i modstrid med andet data RHS – Informationsteknologi

3 RHS – Informationsteknologi
Normalisering Hvis man er en haj til database-design – og følger reglerne – vil man ofte ende med en normaliseret database uden at tænke over det… 3. normalform…? You wanna bet on that…? Normalisering er en slags ”sundhedstjek” af dit database-design RHS – Informationsteknologi

4 Tre grader af normalisering – første grad
1.Normalform Tabellen har en nøgle Alle tabellens poster er lige lange RHS – Informationsteknologi

5 Tre grader af normalisering – første grad
Hvorfor skal en tabel have en nøgle? Hvis en tabel ikke har en nøgle, kan vi ikke vide hvad data egentlig refererer til (tvetydighed) Navn Spansk Fransk Dansk Maria 10 4 7 12 RHS – Informationsteknologi

6 Tre grader af normalisering – første grad
Hvorfor skal posterne være lige lange? For at undgå spild af plads Typisk struktur Nøglefelt Variabelt antal datafelter Giver en tabel med felter a la Navn, Fag1, Fag2, Fag3, Fag4,… RHS – Informationsteknologi

7 Tre grader af normalisering – første grad (før)
Elevnavn Fag1 Fag2 Fag3 Fag4 Fag5 Fag6 Fag7 Ib Jensen DA TY IT EN Bo Søgård AF SP Anne Høgh JU Ikke alle poster er lige lange Elevnavn er ikke entydigt RHS – Informationsteknologi

8 Tre grader af normalisering – første grad
Hvordan løser vi problemerne? Trin 1: Indfør en nøgle Inkludér nok felter til at nøglen er entydig Opfind selv nøgle, ofte et løbenummer Trin 2: Indfør ny tabel med fast længde Ofte ændres Nøgle, Fag1, Fag2,… til Nøgle, Fag (med mange poster) RHS – Informationsteknologi

9 Tre grader af normalisering – første grad (efter)
Elevnummer Elevnavn Fag 1 Ib Jensen DA TY IT EN 2 Bo Søgård AF SP 4 JU Alle poster i tabellen er unikke Alle poster i tabellen har længde 3 Tabellen er nu på 1.normalform! …og så videre… RHS – Informationsteknologi

10 3 grader af normalisering – anden grad
2.Normalform Tabellen er på 1.normalform Der må kun være et nøglefelt i hver tabel, der entydigt afgør indholdet af alle øvrige felter RHS – Informationsteknologi

11 3 grader af normalisering – anden grad
Hvad i alverden betyder ”Der må kun være et nøglefelt i hver tabel, der entydigt afgør indholdet af alle øvrige felter”!? Husk, at et nøglefelt kan være et enkelt felt, eller en kombination af felter Nogle informationer kan måske udpeges entydigt med mindre information end den nøglefeltet rummer… RHS – Informationsteknologi

12 Tre grader af normalisering – anden grad (før)
Elevnummer Elevnavn Fag Timer 1 Ib Jensen DA 2 TY 3 IT EN 4 Bo Søgård AF SP JU I denne tabel er Elev-nummer og Fag nøgle – denne kombination er entydig Men Elevnavn udpeges jo entydigt af Elev-nummer alene! ”Spild” at gentage Elev-navn gang på gang …og så videre… RHS – Informationsteknologi

13 3 grader af normalisering – anden grad
Løsningen er oftest at lave nye tabeller, hvor den ”mindst mulige” nøgle bruges I eksemplet: Elevnavn udpeges entydigt af Elevnummer… så lav en tabel med kun Elevnummer som nøgle Elevnavn fjernes derfor fra den oprinde-lige tabel RHS – Informationsteknologi

14 Tre grader af normalisering – anden grad (efter)
Elevnummer Fag Timer 1 DA 2 TY 3 IT EN 4 AF SP JU Elevnummer Elevnavn 1 Ib Jensen 2 Bo Søgård 3 Anne Høgh 4 Elevnummer -> Elevnavn (Elevnummer, Fag) -> Timer …og så videre… RHS – Informationsteknologi

15 3 grader af normalisering – tredje grad
3.Normalform Tabellen er på 2.normalform Alle felter, der afhænger af andet end nøgle-feltet, splittes ud i andre tabeller RHS – Informationsteknologi

16 3 grader af normalisering – tredje grad (før)
Elevnummer Elevnavn Postnummer By 1 Ib Jensen 4100 Ringsted 2 Bo Søgård 4000 Roskilde 3 Anne Høgh 4 Elevnummer udpeger entydigt Elevnavn, Postnummer og By; d.v.s. 2.normalform OK MEN Postnummer udpeger også entydigt By! RHS – Informationsteknologi

17 3 grader af normalisering – tredje grad (efter)
Elevnummer Elevnavn Postnummer 1 Ib Jensen 4100 2 Bo Søgård 4000 3 Anne Høgh 4 Postnummer By 4100 Ringsted 4000 Roskilde Hmm, no bluffing, huh…? Elevnummer -> Elevnavn, Postnummer Postnummer -> By RHS – Informationsteknologi

18 Normalisering i en nøddeskal
Normalisering skal fjerne redundans og inkonsistens fra databasen Vær på vagt, hvis samme information forekommer mange gange – er det nødvendigt…? Brug reglerne for normalisering som et ”sundhedscheck” for databasens design RHS – Informationsteknologi


Download ppt "Normalisering (databaser, del 8)"

Lignende præsentationer


Annoncer fra Google