Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Normalformer – avleggs?  Edgar Codd – hvem var han?  Normalformene opp til 3NF  Hva som er feil med dem  Mine egne definisjoner  Om pedagogikk  Om.

Liknende presentasjoner


Presentasjon om: "Normalformer – avleggs?  Edgar Codd – hvem var han?  Normalformene opp til 3NF  Hva som er feil med dem  Mine egne definisjoner  Om pedagogikk  Om."— Utskrift av presentasjonen:

1 Normalformer – avleggs?  Edgar Codd – hvem var han?  Normalformene opp til 3NF  Hva som er feil med dem  Mine egne definisjoner  Om pedagogikk  Om modellering Jeg skal snakke om:

2 Edgar Codd Født i Dorset, England 2. Studerte matte på Oxford 3. Ansatt i IBM i Utvikla teorien om relasjonsdatabaser 5. Offentliggjort i 1970, seinere bearbeida videre

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

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

5 Normalformer For å forstå hva 2NF og 3NF er, må vi definere termen: Familiemedlem Fornavn Fødedato Kjønn Øyenfarge (Fornavn) -> (Fødedato, Kjønn, Øyenfarge) Gitt fornavnet. Da er verdiene i de andre attributtene også gitt. 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! Funksjonell avhengighet

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

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

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 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 Bil  1 Person 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 Definisjon av tabell En tabell er en symbolsk modell av et fenomen. Katt Fenomener kan du se, høre og/eller føle. Konkrete fenomener: Person, mobil Abstrakte fenomener: Forestilling, besøk, skoletime

12 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. Katt Navn Fødeår Kjønn Øyenfarge

13 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. Katt Navn Fødeår Kjønn Øyenfarge

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

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 Definisjon av relasjon En relasjon er en rolle som to tabeller deler. eier PersonBil Andre roller: Stjeler, kjører, bli påkjørt av… kjøper 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 kjøper Bil Bilnr  Person Pnr Bruk av rollenavnet Rollenavnet danner basis for navnet på den nye tabellen: Bruker metafor: Bilkjøp er et ”ektefødt barn”. Bil Bilnr Bilkjøp *Pnr *Bilnr Kjøpedato Pris Person Pnr  11 

19 Sammensatt nøkkel eller ikke? Hva hvis vi erstatter den sammensatte nøkkelen med et ”autonummer”… Bilkjøp Bilkjøpnr *Pnr *Bilnr Kjøpedato Pris 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 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? Person Pnr Navn Adresse Venner Fagområder  En person har adresse.  ”Har” er upresist. Vi kan også si:  En person bor på adresse.

22 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. Bilkjøp *Pnr *Bilnr Kjøpedato Fornavn Pris Person Pnr Fornavn Etternavn Adresse Postnr Stedsnavn

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

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

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å:


Laste ned ppt "Normalformer – avleggs?  Edgar Codd – hvem var han?  Normalformene opp til 3NF  Hva som er feil med dem  Mine egne definisjoner  Om pedagogikk  Om."

Liknende presentasjoner


Annonser fra Google