1 / 26

Normalformer – avleggs?

Normalformer – avleggs?. Jeg skal snakke om:. Edgar Codd – hvem var han? Normalformene opp til 3NF Hva som er feil med dem Mine egne definisjoner Om pedagogikk Om modellering. Edgar Codd 1923 - 2003. Født i Dorset, England Studerte matte på Oxford Ansatt i IBM i 1948

nickan
Télécharger la présentation

Normalformer – avleggs?

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. Normalformer – avleggs? Jeg skal snakke om: Edgar Codd – hvem var han? Normalformene opp til 3NF Hva som er feil med dem Mine egne definisjoner Om pedagogikk Om modellering

  2. Edgar Codd 1923 - 2003 • Født i Dorset, England • Studerte matte på Oxford • Ansatt i IBM i 1948 • Utvikla teorien om relasjonsdatabaser • Offentliggjort i 1970, seinere bearbeida videre

  3. Normalformer Første normalform: Attributtene i en tabell skal være atomiske!! Hva mener du? Atomiske?? Det betyr at et attributt bare skal inneholde en verdi, kjære Watson!

  4. Brudd på 1NF Person Pnr Navn Adresse Venner Fagområder Se på denne tabellen: Ikke atomiske: • Venner: Per, Pål, Espen • Fagområder: Matematikk, informatikk Hva med disse da? • Navn: Ari Ben Laden • Adresse: Kirkeveien 2C, oppgang D Stikkord: Semantisk betydning!

  5. Normalformer Familiemedlem Fornavn Fødedato Kjønn Øyenfarge Funksjonell avhengighet Gitt fornavnet. Da er verdiene i de andre attributtene også gitt. (Fornavn) -> (Fødedato, Kjønn, Øyenfarge) For å forstå hva 2NF og 3NF er, må vi definere termen: Vi ser at for eksempel fødedatoen er funksjonelt avhengig av fornavnet. Vi må forstå hva FA betyr for å finne riktig PN i en tabell!

  6. Normalformer Bilkjøp *Pnr *Bilnr Kjøpedato Fornavn Pris Tabellen skal være på 1NF og alle vanlige attributter i en tabell skal være funksjonelt avhengig av HELE primærnøkkelen!! Andre normalform: (Skapt for å handtere sammensatte nøkler!) I denne tabellen er Fornavn bare funksjonelt avhengig av Pnr. (Pnr) -> (Fornavn)

  7. Normalformer Person Pnr Fornavn Etternavn Adresse Postnr Stedsnavn Tabellen skal være på 2NF og ikke inneholde noen transitivt funksjonelle avhengigheter!! Stedsnavnet er bestemt av Pnr via Postnr! Tredje normalform: (Pnr) -> (Postnr) -> (Stedsnavn) Det er hva vi kaller transitiv avhengighet.

  8. Hva er galt med normalformene? • De passer ikke inn med de utfordringene som vi gir våre elever! • De er REGLERRRRRRRR, ikke definisjoner. • De kan ikke forklare hvorfor repeterende felt er feil. Hva mener du?Repeterende felt?? Vær tålmodig, Watson! Vi tar et punkt av gangen!

  9. 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bil Person Utfordringene som elevene møter • Elevene må velge ut riktige ord i en tekstoppgave • Ordene må settes sammen til en datamodell • Krever både evne til abstrahering og strukturering Fra en lang tekst til en modell

  10. Grunnleggende definisjoner • Tre sentrale begreper, men da må vi definere disse for elevene! • Gjør vi det induktivt eller deduktivt? • Induktivt - fra det konkrete til det abstrakte - er mest gunstig… • Men ikke når det gjelder definisjoner, Watson!

  11. Katt Definisjon av tabell En tabell er en symbolsk modell av et fenomen. Fenomener kan du se, høre og/eller føle. Konkrete fenomener: Person, mobil Abstrakte fenomener: Forestilling, besøk, skoletime

  12. Katt Navn Fødeår Kjønn Øyenfarge Definisjon av attributt Et attributt er en egenskap som et fenomen HAR. Egenskapen er nært knytta til fenomenet. Vi bruker egenskaper som gjelder generelle for alle katter, ikke slike som er spesielle for en katt.

  13. Katt Navn Fødeår Kjønn Øyenfarge Strategi for å finne egenskaper En katt har navn. En katt har fødeår. En katt har kjønn. Men hva med disse to? En katt har øyne. En katt har øyenfarge. Nært knytta til: egenskapen ikke kan sees uten fenomenet.

  14. Skille fenomener og egenskaper Finn ord som er fenomener: Bok, personnr, reise, Edgar, fest, spørsmål Finn ord som er egenskaper: Tog, etternavn, aroma, kuhorn, sinne, følehår Knep: Finner vi egenskaper til ordet? Kan vi oppleve det?

  15. Grunnleggende definisjoner • Helhetlig kunnskap???? • Alt må stykkes opp. Kunsten er hvordan! • Derfor venter vi med å lære relasjoner. • Elevene lager databaser med mange tabeller uten sammenheng. • Noen elever aner at noe mangler. • Motivasjon for å lære mer oppstår!

  16. Person Bil Definisjon av relasjon En relasjon er en rolle som to tabeller deler. eier kjøper Andre roller: Stjeler, kjører, bli påkjørt av… Rollenavnet bestemmer kardinaliteten!

  17. Eksempler på kardinalitet En til en: Et land har et nasjonalflagg. En til mange: Et land har mange byer. Mange til mange: Et person kan kjøpe mange biler. En bil kan bli kjøpt av mange personer. Metafor: Tabellen på den enslige sida kaller vi modertabell. Tabellen på mangesida kaller vi barnetabell.

  18. Bil Bilnr Bil Bilnr Bilkjøp *Pnr *Bilnr Kjøpedato Pris kjøper Person Pnr Person Pnr 1   1   Bruk av rollenavnet Rollenavnet danner basis for navnet på den nye tabellen: Bruker metafor: Bilkjøp er et ”ektefødt barn”.

  19. Bilkjøp Bilkjøpnr *Pnr *Bilnr Kjøpedato Pris Sammensatt nøkkel eller ikke? Hva hvis vi erstatter den sammensatte nøkkelen med et ”autonummer”… Problem 1: Da tillater vi nullverdier i for eksempel Pnr Vi kan løse det ved å si satte Obligatorisk: Ja Problem 2: Vi kan registrere verdier helt fritt! Tabellen har alternativ nøkkel, noe Access ikke støtter…

  20. Et pust i bakken • Vi har sett hva normalformer duger til • Vi har definert tre basisbegreper • La oss se på hvordan disse kan takle problemene med å normalisere:

  21. Person Pnr Navn Adresse Venner Fagområder Problemet med ikke atomisk • Venner er ikke een egenskap, men flere i en. • Heller ikke er det egenskap til en person! • Heller ikke fagområder. • Men hva med adresse? • En person har adresse. • ”Har” er upresist. Vi kan også si: • En person bor på adresse.

  22. Person Pnr Fornavn Etternavn Adresse Postnr Stedsnavn Bilkjøp *Pnr *Bilnr Kjøpedato Fornavn Pris Problemet med 2NF og 3NF • Et bilkjøp har ikke fornavn! • Fornavn er ingen egenskap til et bilkjøp. • En person har ikke stedsnavn! • Stedsnavn er ingen egenskap til en person.

  23. Person Pnr Tlf_hjemme Tlf_jobb Tlf_sommerhus Hva er repeterende felt Endelig skal vi se på det, Watson! Merk telefon_nummerne. Anta at det plutselig dukker opp en ny form for telefon…. Hva nå? Ring dataleverandøren! Han legger inn et nytt attributt til den nette sum av 10 00 kr… Hvordan forklarer C. J. Date at repeterende felt er feil? ”Det er bare sånn at databasen da ikke er normalisert!”

  24. Telefon Tlf_hjemme Tlf_jobb Tlf_sommerhus Telefon Tlf_nummer Type Hvordan unngå repeterende felt • Et telefon-nummer er egenskap… • Men ikke til en person! • Vi nærmer oss løsningen: • En telefon kan ikke ha flere numre! Ergo:

  25. Konklusjon • Elevene lærer på en intuitiv måte, ikke instrumentuell. • Elevene klarer å finne de rette ordene i en tekstoppgave. • De klarer å skape løsninger på 3NF uten å bruke regelverket til Codd. Ved å definere ordene tabell, attributt og relasjon oppnår vi:

  26. Lykke til på reisen hjem… Dere kan nå meg på:odd.bergstad@stovner.vgs.no

More Related