1 / 18

Normalisering (databaser, del 8)

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

april
Download Presentation

Normalisering (databaser, del 8)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 RHS – Informationsteknologi

  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 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) 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) 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) 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) 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 -> 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 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) 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

More Related