Normalisering (databaser, del 8) - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Normalisering (databaser, del 8)

Description:

Normalisering (databaser, del 8) Normalisering Normalisering er en teknik til at forbedre et database-design, i forhold til at undg vores d dsfjender: Redundans ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 19
Provided by: PerLa7
Category:

less

Transcript and Presenter's Notes

Title: Normalisering (databaser, del 8)


1
Normalisering (databaser, del 8)
2
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

3
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

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

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
Maria 7 12 7
Maria 4 10 10
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,

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 TY EN IT AF SP
Anne Høgh EN DA AF
Ib Jensen TY EN SP IT DA AF JU
Ikke alle poster er lige lange
Elevnavn er ikke entydigt
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)

9
Tre grader af normalisering første grad (efter)
Elevnummer Elevnavn Fag
1 Ib Jensen DA
1 Ib Jensen TY
1 Ib Jensen IT
1 Ib Jensen EN
2 Bo Søgård TY
2 Bo Søgård EN
2 Bo Søgård IT
2 Bo Søgård AF
2 Bo Søgård SP


4 Ib Jensen JU
Alle poster i tabellen er unikke Alle poster i
tabellen har længde 3 Tabellen er nu på
1.normalform!
og så videre
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

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

12
Tre grader af normalisering anden grad (før)
Elevnummer Elevnavn Fag Timer
1 Ib Jensen DA 2
1 Ib Jensen TY 3
1 Ib Jensen IT 2
1 Ib Jensen EN 4
2 Bo Søgård TY 2
2 Bo Søgård EN 1
2 Bo Søgård IT 4
2 Bo Søgård AF 3
2 Bo Søgård SP 4


4 Ib Jensen JU 1
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
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

14
Tre grader af normalisering anden grad (efter)
Elevnummer Fag Timer
1 DA 2
1 TY 3
1 IT 2
1 EN 4
2 TY 2
2 EN 1
2 IT 4
2 AF 3
2 SP 4


4 JU 1
Elevnummer Elevnavn
1 Ib Jensen
2 Bo Søgård
3 Anne Høgh
4 Ib Jensen
Elevnummer -gt Elevnavn
(Elevnummer, Fag) -gt Timer
og så videre
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

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 4100 Ringsted
4 Ib Jensen 4000 Roskilde
  • Elevnummer udpeger entydigt Elevnavn, Postnummer
    og By d.v.s. 2.normalform OK
  • MEN Postnummer udpeger ogsÃ¥ entydigt By!

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 4100
4 Ib Jensen 4000
Postnummer By
4100 Ringsted
4000 Roskilde
Hmm, no bluffing, huh?
Elevnummer -gt Elevnavn, Postnummer
Postnummer -gt By
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
Write a Comment
User Comments (0)
About PowerShow.com