Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Like dokumenter
Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

Datamodellering med UML (forts.)

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet

Den redundansfri datamodellen

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Datamodellering med ORM

Datamodellering med UML

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

The Unified Modeling Language - UML

INF1050 Klasseromsoppgave Uke 6

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

Skranker og avledninger

Hva vi i alle fall bør huske fra INF1050

Skranker og avledninger

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Språk for dataorientert modellering

Signalgrensesnitt for Trafikanten Pluss

Normalisering. Hva er normalisering?

Normalisering. Hva er normalisering?

Fra uryddig verden til strukturert stoppestedsdatabase

INF1300 Introduksjon til databaser

Databaser: Relasjonsmodellen, del I

Databaser. - Normalisering -

UNIVERSITETET I OSLO

Normalisering. Hva er normalisering?

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Dagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer

INF1300 Introduksjon til databaser

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

Utvikling fra kjernen og ut

INF1300 Introduksjon til databaser

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Utvikling fra kjernen og ut

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

UNIVERSITETET I OSLO Institutt for informatikk. Masteroppgave 60 Studiepoeng. Et verktøy for å editere datamodeller i flere views.

Utvikling fra kjernen og ut

UNIVERSITETET I OSLO

Informasjonsbærende representasjoner

1. Relasjonsmodellen Kommentarer til læreboka

Relasjonsdatabaseteori

1. Normalisering Kommentarer til læreboka

Vegard Nossum. 21. oktober 2010

UNIVERSITETET. Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Oppdateringsanomalier Normalformer

IN2090 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

INF1300 Introduksjon til databaser

Kart og andre umodne objekter

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Dagens tema: Oppdateringsanomalier Normalformer

*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

Relasjonsdatabasedesign

Kunnskapsorganisasjon og gjenfinning 1

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

INF212 - Databaseteori. Kursinnhold

INF3100 Databasesystemer

Dataorientert modellering

Oppgave 3 - normalisering

Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler

NB! Endring i undervisningsplanen

Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

Integritetsregler i SQL. Primærnøkler

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Obligatorisk oppgave nr. 3 i INF1300 høsten 2008

Repetisjon: Normalformer og SQL

INF1050 Klasseromsoppgave Uke 7

Gruppeøvelse 20/ Dagens tema: - Gruppering/realisering

Datamodellering. Diskusjonspunkter. Figur 1-1. Informasjonssystemet gjenspeiler «virkeligheten» Figur 1-2. Data krever tolkning

Utvikling fra kjernen og ut

Representasjoner. Modell uten representasjoner. Modell med representasjoner. Forekomster i interesseområdet og i informasjonssystemet

Relasjonsdatabasedesign

1. Designe ER-modeller med MS Visio

Relasjonsdatabasedesign

Hva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

Dataorientert modellering

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker

Transkript:

Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem Brukere dmuml2- dmuml2-2 Figur 5-2. Ogdens trekant Ugrupperte og grupperte er 8076543873 DF 2345 9. febr. 2003 2003-02-9 Symbol Lingvistiske elementer representasjoner Thoughts of Reference Begreper Bil Døgn Referent Fenomener i interesseområdet Ugruppert generering/fjerning av fremmednøkler Gruppert (tabellorientert) Gruppert (???-orientert) fjerning/oppretting av referanseklasser med assosiasjoner Gruppert (tabellorientert) uten referanseklasser Gruppert (???-orientert) uten referanseklasser dmuml2-3 dmuml2-4

Ugruppert og gruppert - eksempel systemet (forts.) 0: antall_ {fk}{id} antall_{fk}{null} 0: antall_ {fk}{id} antall_ {null} Student anbefalte-forkunnskaper tar tas-av 0: Hoved dmuml2-5 dmuml2-6 Mange-til-mange-assosiasjon med assosiasjonsklasse _i 0: gjenvunnet mengde Mengde # tonn {id} material tar systemet (forts.) tas-av 0: jfr. lærebokas figur 5-7 og 5-8 hoved dmuml2-7 dmuml2-8

Figur 5-9. Assosiasjonsklassen erstattes med en vanlig klasse _i _i 0: gjenvunnet mengde 0: gjenvunnet mengde Mengde # tonn {id} material material Mengde # tonn {id} dmuml2-9 hoved systemet (forts.) 0: Dermed er en ferdig dmuml2-0 etterfølger {fk}{id} forgjenger {fk}{id} hoved systemet (forts.) {fk}{id} semesterkode {fk}{id} student {fk}{id} {fk}{id} semesterkode {fk}{id} hoved {fk}{id} {fk}{id} stud{fk}{null} 0: Unyttig klasse dmuml2- For å finne fram til tabellene i en tabelldatabase må vi først generere fremmednøklene systemet tabelldatabasen semesterkode semesterkode semesterkode IU IU antall-stud student hoved etterfølger forgjenger navn En tabell for hver klasse dmuml2-2

systemet tabelldatabasen IU IU Figur 5-0. Modell med tidsdimensjon INF00 INF040 INF050 semesterkode antall-stud etterfølger INF050 INF050 INF00 forgjenger INF000 INF040 INF000 År årstall {id} _iår material INF00 INF050 vår2004 vår2004 457 277 Eksempler på forekomster navn 0: gjenvunnet mengde Mengde # tonn {id} kommune dmuml2-3 dmuml2-4 Figur 5-20. Relasjonsdatabase med tidsdimensjon systemet (forts.) kommunenr kommunenr kommunenavn materialnavn år mengde hoved semesterkode{id} 0: dmuml2-5 dmuml2-6

hoved systemet (forts.) semesterkode{id} Semester semesterkode{id} 0: Semester som tidsbegrep Det første bud Du skal ikke ha dobbeltlagringer og avledninger! Hvis du allikevel (av effektivitetsgrunner) har dobbeltlagringer og avledninger i databasen, må de være under kontroll dmuml2-7 dmuml2-8 poststed navn Dal Li Fjell En unormalisert Storgata 7 Lilleveien 3 Nyveien 20 Funksjonell avhengighet 400 400 500 poststed Ski Ski Moss En data (og en database) som ikke er normalisert, vil åpne for dobbeltlagring av opplysninger Poststed {id} Dal Li navn Fjell Storgata 7 Lilleveien 3 Nyveien 20 Normalisert Gateadresse {id} Poststedsnavn poststeds 400 400 500 400 500 poststed Ski Moss {fk} Poststed {id} poststedsnavn dmuml2-9 dmuml2-20

Normaliseringsteori Slike oppdelinger som vi har sett et eksempel på her er sentrale i forbindelse med såkalt normalisering i relasjonsdatabaseteorien. Hovedbudskapet er at verdien i et attributt skal være entydig bestemt av verdien på en av kandidatnøklene (i praksis primærnøkkelen) The key, thewholekey and nothing but the key, so help me Codd! Kontroll av grupperte er Hvis du går direkte på en gruppert, sjekk for hvert attributt: Er det høyst én verdi for attributtet? Er verdien bestemt av primærnøkkelen, hele primærnøkkelen og intet annet enn primærnøkkelen? telefon e-post poststed Hvordan faller denne kontrollen ut for klassen? dmuml2-2 dmuml2-22 Høyere ordens assosiasjoner En ternær assosiasjon Noen ganger er det behov for assosiasjoner mellom mer enn to klasser/begreper Typisk dreier det seg da om begreper av typen Hvem, Hva, Hvor, Når Eksempel: material o AS Gjenvinning gjenvinner papir i Oslo kan vanligvis ikke brytes ned til o AS Gjenvinning gjenvinner papir Avfallsselskap selskaps avfalls_ innsamler område o AS Gjenvinning gjenvinner i Oslo o papir gjenvinnes i Oslo Unngå UML-assosiasjoner mellom mer enn to klasser! dmuml2-23 dmuml2-24

En ternær assosiasjon sett som tabell/relasjon Avfallsselskap selskaps material område Fjern høyere ordens assosiasjoner vha. nye begreper Avfallsselskap selskaps material avfallsinnsamler Material- fying» «identi- avfallsinnsamlegjenvinning område Alle avfallsinnsamlere kan gjenvinne alle r i alle områder Lang entydighetsskranke konverteres til identifiserende assosiasjoner avfallsinnsamler område dmuml2-25 dmuml2-26 Overlappende entydighetsskranker Den eksterne entydighetsskranken Time ukedag,timenr {id} Time ukedag,timenr {id} Lærer ansattnr {id} Forelesning fying» «identi- Rom romnr {id} Lærer ansattnr {id} Forelesning Rom romnr {id} Hvordan viser vi dette i UML? Bruke OCL (Object Constraint Language)? time rom Warmer & Kleppe foreslår lignende grafiske notasjoner for lignende skranker Warmer & Kleppe: The Object Constraint Language. Addison-Wesley 999 dmuml2-27 dmuml2-28

Figur 5-. Spesialisering og generalisering Underbegreper Mann a) c) Generalisering Mann Kvinne ektemann ektemann hustru Spesialisering {disjoint, complete} Kvinne ektemann hustru b) hustru dmuml2-29 Lærer hoved systemet (forts.) Student Se også eksempel i læreboka figur 5-2 semesterkode{id} dmuml2-30 Kjønn kjønnskode {id} Figur 5-7. Håndtering av underbegreper diskriminerende assosiasjon Mann 0: {disjoint, complete} Kvinne antall fødsler Fornavn a) Separasjon Figur 5-7. Håndtering av underbegreper fødselsnr kjønn fornavn Mann fødselsnr Kvinne fødselsnr antall_fødsler b) Absorpsjon fødselsnr kjønn fornavn antall_fødsler nil hvis kjønn = m c) Partisjonering fødselsnr Kan sløyfes, ingen forekomster Enhver mann har kjønnskode M Enhver kvinne har kjønnskode K Mann fødselsnr kjønn fornavn Kvinne fødselsnr kjønn fornavn antall_fødsler dmuml2-3 dmuml2-32