270 likes | 396 Views
Norm alisering og andre modelleringsmetoder. There are many paths to the top of the mountain but the view is always the same Chinese proverb. Normali sering. En alternativ databaseutformingsmetode Et teoretisk grunnlag for den relasjonelle modellen
E N D
Normalisering og andre modelleringsmetoder There are many paths to the top of the mountain but the view is always the same Chinese proverb
Normalisering • En alternativ databaseutformingsmetode • Et teoretisk grunnlag for den relasjonelle modellen • Tar utgangspunkt i eksisterende løsninger med data som ikke er strukturert i en relasjonsdatabase • Skjemaer • Tabeller • Anvendelse av en rekke regler som gradvis forbedrer utformingen
Funksjonell avhengighet • En forhold mellom attributtene til en entitet • En eller flere attributter determinerer (bestemmer) verdien til en annen attributt • En identifikator determinerer funksjonelt alle attributtene til en entitet • aksjekode firmanavn, aksjepris, aksjeantall, aksjeutbytte • kjenner vi aksjekoden, kan vi avgjøre de andre verdiene • Flerverdiavhengighet • institutt multideterminerer kurs • insititutt kurs • Formler • (aksjeutbytte, aksjepris) utbytte i prosent
Full funksjonell avhengighet • Utbytte i prosenter fullt funksjonelt avhengig av aksjeutbytte og aksjepris fordi begge disse attributtene er nødvendig for å finne utbytte i prosent • (aksjeutbytte, aksjepris) utbytte i prosent • Determinant • En attributt som funksjonelt determinerer en annen attributt • f. eks aksjekode determinerer aksjePE
Multideterminering • En gitt verdi kan determinere multiple verdier • A multideterminerer B • A B • f. eks., Institutt multideterminerer kurs
Attributtsammenhenger • en-til-en • En verdi av en attributt determinerer verdien til en annen attributt og vice versa. • A BandB A • f. eks., • CH Sveits • Sveits CH • Konsekvens: Attributtene må vises sammen i én tabell for å registrere sammenhengen i databasen
Attributtsammenhenger • en til mange • En verdi av en attributt determinerer verdien til en annen attributt, men ikke omvendt • A B • e.g., • landnavn valutaenhet • valutaenhet landnavn (ikke?) • Konsekvens: Hvis A og B opptrer i samme tabell, må A være nøkkel
Attributtsammenhenger • mange til mange • ingen av attributtene determinerer hverandre • A ikke B • B ikke A • landnavn ikke språk • språk ikke landnavn • Fransk og Flamsk snakkes i belgia • Fransk snakkes i mange land • Hvis sammenhengen skal lagres i en tabell, må vi bruke A og B som en sammensatt nøkkel
Normalformer • En klassifisering av tabeller • 1. 2. 3. BC 4. 5. DK • Går utenpå hverandre som russiske dokker • Den innerste er femte normalform • Den ytterste er første normalform
Første normalform (1NF) • Alle rader må ha samme antall kolonner • Bare attributter med enkle verdier
Andre normalform (2NF) • Brytes når en ikke nøkkel kolonne er determinert av en del av primærnøkkelen. • En kolonne er ikke fullt funksjonelt avhengig av primærnøkkelen • kunde-kreditt i dette tilfellet Innsettingsanomali!, se s. 209 Ikke på andre normalform: kundekreditt determinert av kundeid Problemet løses slik: VARE *vareno … ORDRE antall … KUNDE *kundeid kunde-kreditt …
Tredje normalform (3NF) • Brytes når en ikke nøkkelkolonne er determinert av en annen ikke nøkkelkolonne • En kolonne er ikke fullt funksjonelt avhengig av primærnøkkelen • Vekslingskurs i tilfellet nedenfor Innsettings og slettingsanomali se s. 210 Løses slik Ikke 3.NF
Øvelser • Normaliseringsoppgave 1 • Normaliseringsoppgave 2 • Skill-builder, s. 210
Boyce-Codd normalform (BCNF) • Oppstår når en tabell • har mange kandidatnøkler • kandidatnøklene er sammensatte og • kandidatnøklene overlapper Ikke BCNF løsning?
Fjerde normalform (4NF) • En rad skal ikke inneholde to eller flere uavhengige multiverdier
Femte normalform (5NF) • En tabell kan være gjenoppbygd fra andre tabeller • Det finnes en regel som gjør det mulig å utlede en sammenheng • Grunntilfelle: Konsulenter leverer kompetanse til et eller flere firmaer og firmaer kan bruke mange konsulenter. En konsulent har mange kompetanser og en kompetanse kan brukes av mange firmaer. Et firma kan trenge flere kompetanser og samme kompetanse kan være etterspurt av flere firmaer.
Fifth normal form (5NF) • Regelen • Hvis en konsulent har en bestemt kompetanse f.eks database og har kontrakt med firmaet som krever ferdigheten, f. eks IBM, så gir konsulenten råd i denne kompetansen.
Domain key/ normalform (DK/NF) • Key (Nøkkel): unik identifikator • Constraint (Begrensning): regel som avgrenser attributtverdier • Domain (Domene): Mengden av "lovlige" verdier • Hver constraint på relasjonen må være en logisk konsekvens av domene- og nøkkelconstraintene som gjelder for relasjonen.
Data modellering og normalisering • Datamodellering er ofte en lettere vei til god databaseutforming • En virkelighetstro datamodell vil ha høy normalform • 5NF er sannsynligvis vanskeligst å oppnå • Undersøk om det finnes spesielle regler.
Datamodelleringsmetoder • Den mest kjente er Chen's entity-relationship (E-R) tilnærming • Det finnes ingen standard for E-R metoden • Nesten alle datamodelleringstilnærminger er svært like fordi de deler felles begreper. • Læring er lett å overføre fra den ene metoden til den andre
IDEF1X Generaliseringshierarki AUDIO LIBRARY audio type CD LP TAPE
Å representere sammenhenger • De ulike dialektene skiller seg mest ved hvordan sammenhenger blir representert. • Obligatorisk eller ikke obl. sammenheng • Kardinalitet
Obligatorisk eller ikke obligatorisk sammenheng? • Krever en forekomst av denne entiteten forekomst av den andre entiteten • Ordre og vare • Varen må eksistere for å kunne bestilles • Det er ikke nødvendig å ha en ordre for å kunne føre varen