Datamodellering med UML (forts.)
|
|
- Bjarte Carlson
- 6 år siden
- Visninger:
Transkript
1 Datamodellering med UML (forts.) jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-
2 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem Brukere Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-2
3 Figur 5-2. Ogdens trekant Thoughts of Reference Begreper Person Bil Døgn DF febr Symbol Lingvistiske elementer representasjoner Referent Fenomener i interesseområdet Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-3
4 Fra naturlig språk til datamodell Drammen ligger i Buskerud By med bynavn Drammen ligger i fylke med fylkenavn Buskerud By bynavn {id} ligger-i ligger_i fylke Fylke fylkenavn {id} Drammen Buskerud Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-4
5 Ugrupperte og grupperte modeller fremmednøkler unyttige klasser med assosiasjoner generering fjerning Gruppert modell (tabellorientert) fjerning generering Gruppert modell (tabellorientert) med vanlige attributter Ugruppert modell generering fjerning referanser Gruppert modell (???-orientert) fjerning generering Gruppert modell (???-orientert) med vanlige attributter Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-5
6 Ugruppert og gruppert modell - eksempel Emne emnekode {id} Kurs semesterkode {id} 0.. Antall # {id} antall_ studenter Emne emnekode {id} Trinn «identi- Trinn 2 fying» Kurs emnekode {fk}{id} semesterkode {id} antall_studenter{fk}{null} antall_ 0.. studenter # {id} Antall Emne emnekode {id} Kurs emnekode {fk}{id} semesterkode {id} antall_studenter {null}. Generere fremmednøkler 2. Sløyfe unyttige klasser og fjerne {fk} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-6
7 Universitet universitetskode {id} Fakultet fakultetskode {id} Institutt instituttkode {id} Ansatt ansattnr {id} Assosiasjoner i et hierarki Med hva skal vi assosiere o Universitetets sentralbordnummer o ansatts jobbadresse o ansatts telefonnummer o antall studenter? Institutt for informatikk Gerhard Skagestein 4. februar 2007 Legg assosiasjonene så høyt opp i hierarkiet som mulig! dmuml2-7
8 Mange-til-mange-assosiasjon med assosiasjonsklasse Materialgjenvinning _ikommune 0.. gjenvunnet mengde Mengde # tonn {id} Kommune kommunenr {id} gjenvunnet_materiale Materiale materialnavn {id} jfr. lærebokas figur 5-7 og 5-8 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-8
9 Figur 5-9. Assosiasjonsklassen erstattes med en vanlig klasse Materialgjenvinning _ikommune 0.. gjenvunnet mengde Mengde # tonn {id} Kommune kommunenr {id} gjenvunnet_materiale Materiale materialnavn {id} Kommune kommunenr {id} Materialgjenvinning _ikommune gjenvunnet_ materiale Materiale materialnavn {id} 0.. gjenvunnet mengde Institutt for informatikk Gerhard Skagestein 4. februar 2007 Mengde # tonn {id} dmuml2-9
10 Figur 5-0. Modell med tidsdimensjon År årstall {id} Kommune kommunenr {id} «identi- fying» Materialgjenvinning _ikommuneår gjenvunnet_ materiale Materiale materialnavn {id} Kommunenavn 0.. gjenvunnet mengde Mengde # tonn {id} kommunenavn {id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-0
11 Figur Relasjonsdatabasestruktur med tidsdimensjon Kommune kommunenr NOT NULL kommunenavn {subset} Materialgjenvinning _ikommuneår kommunenr materialnavn år gjenvunnet_mengde Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-
12 Databasekonstruktørens 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 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-2
13 En unormalisert modell Person navn {id} gateadresse postnr poststed Funksjonell avhengighet navn gateadresse postnr poststed Dal Storgata Ski En datamodell (og en database) som ikke er normalisert, vil åpne for dobbeltlagring av opplysninger Li Lilleveien Ski Fjell Nyveien Moss Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-3
14 Normalisert modell Person Person navn {id} Poststed postnr {id} Gateadresse gateadresse {id} Poststedsnavn poststedsnavn {id} navn {id} gateadresse postnr {fk} Poststed postnr {id} poststedsnavn navn gateadresse postnr Dal Storgata Li Lilleveien Fjell Nyveien {subset} postnr poststed 400 Ski 500 Moss Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-4
15 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, the whole key and nothing but the key, so help me Codd! Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-5
16 Kontroll av grupperte modeller Hvis du går direkte på en gruppert modell, 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? Person navn {id} telefon e-post gateadresse postnr poststed Hvordan faller denne kontrollen ut for klassen Person? Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-6
17 Høyere ordens assosiasjoner 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: o AS Gjenvinning gjenvinner papir i Oslo kan vanligvis ikke brytes ned til o AS Gjenvinning gjenvinner papir o AS Gjenvinning gjenvinner i Oslo o papir gjenvinnes i Oslo Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-7
18 En ternær assosiasjon Materiale materialnavn {id} gjenvunnet_ materiale Avfallsselskap selskapsnavn {id} avfalls_ innsamler Materialgjenvinning område Kommune kommunenr {id} Unngå UML-assosiasjoner mellom mer enn to klasser! Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-8
19 En ternær assosiasjon sett som tabell/relasjon Materiale materialnavn {id} Avfallsselskap Kommune selskapsnavn {id} avfallsinnsamler gjenvunnet_ materiale område kommunenr {id} Materialgjenvinning Alle avfallsinnsamlere kan gjenvinne alle materialer i alle områder Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-9
20 Fjern høyere ordens assosiasjoner vha. nye begreper Materiale materialnavn {id} Avfallsselskap selskapsnavn {id} avfallsinnsamler gjenvunnet_ materiale «identi- «identi- fying» Material- fying» gjenvinning område Kommune kommunenr {id} Lang entydighetsskranke konverteres til identifiserende assosiasjoner avfallsinnsamler gjenvunnet_ materiale område Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-20
21 Overlappende entydighetsskranker Time ukedag,timenr {id} Lærer ansattnr {id} «identi- «identi- fying» Forelesning fying» Rom romnr {id} Hvordan viser vi dette i UML? Bruke OCL (Object Constraint Language)? lærer time rom Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-2
22 Den eksterne entydighetsskranken Time ukedag,timenr {id} {unique} {unique} Lærer ansattnr {id} Forelesning Rom romnr {id} Warmer & Kleppe foreslår lignende grafiske notasjoner for lignende skranker Warmer & Kleppe: The Object Constraint Language. Addison-Wesley 999 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-22
23 Figur 5-. Spesialisering og generalisering Underbegreper Mann fødselsnr {id} ekte- hustru mann Kvinne fødselsnr {id} Person fødselsnr {id} a) Generalisering Spesialisering ektemann b) hustru Person c) fødselsnr {id} {disjoint, complete} Mann ekte- hustru mann Kvinne Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-23
24 Figur 5-7. Håndtering av underbegreper Kjønn Person 0.. Fornavn kjønnskode {id} fødselsnr {id} navn {id} diskriminerende assosiasjon {disjoint, complete} Mann Kvinne antall fødsler Antall # {id} Enhver mann har kjønnskode M Enhver kvinne har kjønnskode K Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-24
25 a) Separasjon Figur 5-7. Håndtering av underbegreper NOT NULL Person fødselsnr kjønn fornavn Mann {subset} fødselsnr Kvinne {subset} NOT NULL fødselsnr antall_fødsler b) Absorpsjon NOT NULL Person fødselsnr kjønn fornavn antall_fødsler nil hvis kjønn = m c) Partisjonering Person fødselsnr Kan sløyfes, ingen forekomster Mann NOT NULL NOT NULL fødselsnr kjønn fornavn Kvinne fødselsnr kjønn fornavn antall_fødsler Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-25
26 Kurssystemet (forts.) Emne emnekode {id} anbefalte-forkunnskaper Student navn {id} tar tas-av Kurs semesterkode {id} Hovedlærer navn {id} /antall_studenter 0.. # {id} Antall Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-26
27 Kurssystemet (forts.) Emne Forkunnskap anbefalteforkunnskaper emnekode {id} /antall_ studenter Person navn {id} tar tas-av Påmelding Kurs semesterkode {id} 0.. Antall # {id} Undervisning hovedlærer Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-27
28 Forkunnskap Person navn {id} hoved lærer Kurssystemet (forts.) anbefalteforkunnskaper Påmelding Undervisning Emne emnekode {id} Kurs semesterkode {id} /antall_ studenter 0.. Antall # {id} Dermed er modellen ferdig Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-28
29 Kurssystemet (forts.) For å finne fram til tabellene i en tabelldatabase må vi først Forkunnskap Emne generere fremmedetterfølger {fk}{id} emnekode {id} nøklene forgjenger {fk}{id} anbefalteforkunnskaper «identi- fying» /antall_ Påmelding studenter emnekode {fk}{id} semesterkode {fk}{id} Person Kurs Antall student {fk}{id} 0.. navn {id} emnekode {fk}{id} # {id} semesterkode {id} hoved lærer Undervisning /antall_stud{fk}{null} emnekode {fk}{id} semesterkode {fk}{id} Unyttig klasse hovedlærer {fk}{id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-29
30 Kurssystemet tabelldatabasen {subset} {subset} Emne emnekode Forkunnskap etterfølger forgjenger {subset} Kurs emnekode semesterkode antall-stud Person navn {subset} {subset} {subset} Påmelding emnekode semesterkode student {subset} Undervisning emnekode semesterkode hovedlærer Institutt for informatikk Gerhard Skagestein 4. februar 2007 En tabell for hver klasse dmuml2-30
31 Kurssystemet tabelldatabasen {subset} {subset} Emne emnekode Forkunnskap etterfølger forgjenger INF00 INF050 INF000 INF040 INF050 INF040 INF050 INF00 INF000 {subset} Kurs emnekode semesterkode antall-stud INF00 vår INF050 vår Eksempler på forekomster Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-3
32 Kurssystemet (forts.) Forkunnskap Person navn {id} hoved lærer anbefalteforkunnskaper Påmelding Undervisning Emne emnekode {id} Kurs semesterkode{id} 0.. Antall # {id} /antall_ studenter Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-32
33 Forkunnskap Person navn {id} hoved lærer Kurssystemet (forts.) anbefalteforkunnskaper Påmelding Undervisning Emne emnekode {id} Kurs semesterkode{id} Semester semesterkode{id} 0.. Antall # {id} /antall_ studenter Semester som tidsbegrep Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-33
34 Lærer Person navn {id} hoved lærer Kurssystemet (forts.) Student Forkunnskap «identi- fying» anbefalteforkunnskaper Påmelding Undervisning Emne emnekode {id} Kurs semesterkode{id} Se også eksempel i læreboka figur 5-2 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2-34
Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
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
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
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
DetaljerDen redundansfri datamodellen
Den redundansfri datamodellen jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri- Dagens tema Individer i
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet
Dagens tema Individer i interesseområdet Den redundansfri datamodellen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? jfr. Systemutvikling fra kjernen
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet
Dagens tema Individer i interesseområdet Den redundansfri dataen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? Begrepsdannelse jfr. Systemutvikling
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerDatamodellering med UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 (og litt fra kapittel 6 og 7) dmuml-1 Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerThe Unified Modeling Language - UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDatamodellering med ORM
Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesset Datamodellering med ORM registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 6. Ugruppert og gruppert modell Et mindre bilutleiefirma ønsker å få
DetaljerINF1050 Klasseromsoppgave Uke 6
INF1050 Klasseromsoppgave Uke 6 Løsningsforslag Mer avansert datamodellering med UML Oppgave 1 Her følger noen eksempler på opplysninger som brukeren ønsker å kunne trekke ut av informasjonssystemer. Foreslå
DetaljerHva vi i alle fall bør huske fra INF1050
Hva vi i alle fall bør huske fra INF1050 Gerhard Skagestein 25. januar 2006 25. januar 2006 INF2120 Prosjekt i modellering 1 Figur 1-3. Et systems livssyklus Idé Krav og ønsker Utforming Realisering Ny
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 2. Begreper og representasjoner a. I en modell finner du begrepene Mann
DetaljerSkranker og avledninger
Skranker og avledninger jfr. Fra kjernen og ut, fra skallet og inn kapittel 7 dmskranker&repr-1 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet)
DetaljerIntermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?
Visjonen... Intermesso samling av trådene jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel INF02-Intermesso- Theodor Kittelsen: Og i det fjerne, langt, langt borte så han noe lyse og
DetaljerFra uryddig verden til strukturert stoppestedsdatabase
Fra uryddig verden til strukturert stoppestedsdatabase Gerhard Skagestein 6. juni 2005 INF 220 7-Jun-05 INF220 Prosjekt i modellering Vi ser bare rapportene... Rapport Rapport3 Rapport2 INF 220 Informasjonssystem
DetaljerSkranker og avledninger
Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet) Skranker og avledninger registrering påvirkning jfr. Fra kjernen og ut, fra skallet og inn
DetaljerUNIVERSITETET I OSLO
INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni 2005 Tid for
DetaljerSpråk for dataorientert modellering
Språk for dataorientert modellering Hva forvirrer studentene minst, ORM/NIAM eller UML-stereotyper? (Omkamp mellom «Rundinger» og «Firkanter») Ragnar Normann (med god støtte av Gerhard Skagestein) 1 Bakgrunn
DetaljerSignalgrensesnitt for Trafikanten Pluss
Signalgrensesnitt for Trafikanten Pluss Version 05042 2-Apr-05 INF220 Prosjekt i modellering Trafikanten Plus: Skisse til arkitektur cs TrafficContext Oracle på Ifi users:mobile sm: SM_stat JDBC static:lbase
DetaljerUNIVERSITETET. Relasjonsdatabasedesign
UNIVERSITETET IOSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-31.1.2011 Ellen Munthe-Kaas 1 Hvordan dekomponere tapsfritt Fagins teorem Gitt et relasjonsskjema R(XYZ) med FDer
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-1.2.2010 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon
DetaljerDatabaser: Relasjonsmodellen, del I
LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet
DetaljerDagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer
Dagsorden Hovedtemaene i INF02 Jus-forelesningen tas igjen onsdag 4. mai kl 05 hvis interesse Prosjektoppgaven o Kandidatnummerlisten o Anonymisering av prosjektoppgaven o Hvordan levere programkoden Åpen-bok-eksamen
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-22.1.2013 Ellen Munthe-Kaas 1 Hvordan dekomponere tapsfritt Fagins teorem Gitt en relasjon R(XYZ) med FDer F.
DetaljerRealiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM
IN2090 Databaser og datamodellering Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM Mathias Stang (mjstang@ifi.uio.no) 3. oktober 2018 1 Repetisjon: Relasjoner relasjonsskjema
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerDatamodellering. Diskusjonspunkter. Figur 1-1. Informasjonssystemet gjenspeiler «virkeligheten» Figur 1-2. Data krever tolkning
Datamodellering FINF400 28. august 2003. amanuensis Gerhard Skagestein Institutt for informatikk, UiO gerhard@ifi.uio.no To formål en modell? Diskusjonspunkter Realiseringsplattformens innvirkning på modellen
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsforklaringer Kombinerte påkrevde roller Undertrykking av begreper Ekvivalente stier og joinskranker Behandling
DetaljerSQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data
SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen
DetaljerRepetisjon: Normalformer og SQL
IN2090 databaser og datamodellering Repetisjon: Normalformer og SQL Mathias Stang og Stein Michael Storleer 21. november 2018 1 Agenda Normalformer Funksjonelle avhengigheter Nøkler Finne hvilke normalformer
DetaljerDatamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller
LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerIN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk IN2090 26.9.2018!1 Relasjonsmodellen
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerDatabaser. - Normalisering -
Databaser - Normalisering - Innholdsfortegnelse 1. Normalisering... 2 1.1. Redundans... 2 1.2. Anomalier (uregelmessigheter etter oppdateringer i databasen)... 2 1.2.1. Innsettingsanomalier (Insertion
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2016 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO Dagens tema: INF1300 Introduksjon til databaser Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk INF1300 12.9.2016 1 Relasjonsmodellen
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Verdiskranker Underbegreper Underbegrepsskranker Mengdeskranker Delmengdeskranker INF1300-10.9.2007 Ellen Munthe-Kaas 1 Verdiskranker
DetaljerUNIVERSITETET I OSLO Institutt for informatikk. Masteroppgave 60 Studiepoeng. Et verktøy for å editere datamodeller i flere views.
UNIVERSITETET I OSLO Institutt for informatikk Et verktøy for å editere datamodeller i flere views Masteroppgave 60 Studiepoeng Asbjørn Eide 1. mai 2007 1 2 Forord Jeg vil takke min veileder Gerhard Skagestein
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
INF1300 Introduksjon til databaser Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 21. november 2017 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og naturlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og
DetaljerOppdateringsanomalier Normalformer
UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 26.0.2009 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign?
DetaljerDagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk
DetaljerRelasjonsdatabaseteori
Relasjonsdatabaseteori Nøkler, funksjonelle avhengigheter og normalformer Arash Khorram arashk@ifi.uio.no Lana Vu anhlv@ifi.uio.no Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet
DetaljerInformasjonsbærende representasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerINF1050 Klasseromsoppgave Uke 7
INF1050 Klasseromsoppgave Uke 7 Løsningsforslag Skranker Oppgave 1 a) Vi skal lage en datamodell for utfallet av presidentvalgene i et land. Modellen skal inneholde begrepene Valg (identifisert med et
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerDagens tema: Oppdateringsanomalier Normalformer
UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 08..0 michael@ifi.uio.no Hva kjennetegner god relasjonsdatabasedesign?
DetaljerIN2090 Databaser og datamodellering ORM 1
IN2090 Databaser og datamodellering ORM 1 Modellere for obliger og eksamen Digital eksamen, men modeller tegnes med penn og papir Det er like greit å tegne for hand også på obligene 2 Dagens tema: Grunnuttrykkene
DetaljerRepetisjon: (nesten) alt du trenger å kunne om ORM og realisering
IN2090 Databaser og datamodellering Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering Mathias Stang (mjstang@ifi.uio.no) 19. november 2018 Agenda Hensikten med ORM-modellering Hva er lov
DetaljerKart og andre umodne objekter
Figur 5-. Ogdens trekant Kart og andre umodne objekter Thoughts of Reference Begreper Person Bil Døgn Gerhard Skagestein David Skogan Fozia Jabeen Arif Shomaila Kausar 8765487 DF 45 9. febr. --9 Symbol
DetaljerUNIVERSITETET I OSLO
Sensorveiledning INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni
DetaljerPlenum: Nøkler, normalformer og funksjonelle avhengigheter
Plenum: Nøkler, normalformer og funksjonelle avhengigheter Mathias Stang 14. november 2017 1 Agenda Hva er god databasedesign? Atomære verdier Nøkler: Supernøkler, kandidatnøkler, primærnøkler, nøkkelattributter
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut! inn ut Virkelighetsmodell Brukergrensesnitt Utviklingsretning Applikasjon Bruker Plattform Oppfatning av interesseområdet jfr. Systemutvikling Fra kjernen og ut, fra skallet
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerRepresentasjoner. Modell uten representasjoner. Modell med representasjoner. Forekomster i interesseområdet og i informasjonssystemet
Mdell uten representasjner mfatter Representasjner mfatter Jfr. Fra kjernen g ut, fra skallet g inn kapittel 8 et utsagn (en utsagnstype) Begreper INF02-representasjner- Representasjner Fenmener i interessemrådet
DetaljerUNIVERSITETET I OSLO INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Kombinerte totale roller Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og vanlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og totale
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen
UNIVERSITETET I OSLO IN2090 Databaser og datamodellering Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen IN2090 05.09.2018 Mathias Stang 1 Opplegget fremover Forelesningene
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA
DetaljerIntroduksjon til fagfeltet
LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer INF300-8..008 Ragnar Normann Institutt for Informatikk Hva kjennetegner god relasjonsdatabasedesign? Beslektet
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer Institutt for Informatikk INF300-9..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Beslektet
DetaljerDagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-26.1.2015 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon
DetaljerObligatorisk oppgave nr. 3 i INF1300 høsten 2008
Obligatorisk oppgave nr. 3 i INF1300 høsten 2008 Oppgaven er beregnet på å løses og leveres som et samarbeid mellom to studenter, men det er lov for dem som vil seg selv så vondt, å levere en individuell
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300 7.0.008 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler
DetaljerRelasjonsdatabasedesign
UNIVERSITETET IOSLO Relasjonsdatabasedesign Tapsfri dekomposisjon Normalformer INF3100-26.1.2009 Ragnhild Kobro Runde 1 Repetisjon: funksjonell avhengighet Gitt et relasjonsskjema R(A1,A2,,An) og la X,
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-25.1.2016 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon
Detaljer1. Normalisering Kommentarer til læreboka
Tore Mallaug 6.11.2007 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Resymé: Denne leksjonen viser et eksempel på normalisering av en liten database.
DetaljerObjektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models
LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell
DetaljerHva kjennetegner god relasjonsdatabasedesign? Eksempel: Grossistdatabase versjon 1
Hva kjennetegner god relasjonsdatabasedesign? Skjemaene samler beslektet informasjon: Tekstlig nærhet (samlokalisering i skjema) gjenspeiler logisk nærhet Brudd på dette har en tendens til å påtvinge dobbeltlagring
Detaljer1. Relasjonsmodellen. 1.1. Kommentarer til læreboka
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort
DetaljerBeskjed fra Skagestein
Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1
DetaljerOppdateringsanomalier. Normalformer. Institutt for informatikk INF
Oppdateringsanomalier Normalformer Institutt for informatikk INF300 7.0.04 Relasjonene samler beslektet informasjon Så lite dobbeltlagring som mulig Så få glisne relasjoner som mulig Korrekt totalinformasjon
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1300 Introduksjon til databaser Eksamensdag: leveringsfrist 11. november 2016 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerIntegritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonssystemer 100%-prinsippet: Fra virkelighet til informasjonsmodell Forretningsregler, skranker og integritetsregler: Fra modell
DetaljerObligatorisk oppgave nr. 3 i INF1300 høsten 2009
Obligatorisk oppgave nr. 3 i INF1300 høsten 2009 Oppgaven er beregnet på å løses og leveres som et samarbeid mellom to studenter, men det er lov for dem som vil seg selv så vondt, å levere en individuell
DetaljerSQL Structured Query Language
SQL Structured Query Language Mer SQL: kandidat-, primær- og fremmednøkler Definere tabeller med integritetsregler Hente data fra tabeller select-from-where distinct order by Eksempler kjøres i PostgreSQL
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler
DetaljerINF Introduksjon til databaser ORM I
INF1300 - Introduksjon til databaser ORM I Dagens tema: Grunnbegrepene i ORM Sammenheng mellom ORM og naturlig språk Elementære setninger (fakta) Faktatyper og broer Entydighetsskranker og påkrevde roller
DetaljerVegard Nossum. 21. oktober 2010
ORM, UML og DL-Lite A,id Vegard Nossum 21. oktober 2010 Plan Introduksjon til ORM-modellering Formalisering av ORM og UML Litt om kompleksitet ORM-modellering: Begreper og forekomster Begreper tegnes som
Detaljer1. SQL datadefinisjon og manipulering
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper Underbegrepsskranker Ekvivalente stier og joinskranker Behandling av tid Informasjonsbærende representasjoner INF1300
DetaljerDatamodellering 101 En tenkt høgskoledatabase
Datamodellering 101 En tenkt høgskoledatabase Spesifikasjoner for databasen vi skal modellere: Oversikt over studenter med: Fullt navn Klasse Studium Avdeling Brukernavn Fødselsdag Adresse Telefonnummer
DetaljerNB! Endring i undervisningsplanen
NB! Endring i undervisningsplanen Forelesningen 24. mars må dessverre avlyses på grunn av Fagkritisk dag Se beskjed som er lagt ut på kursets nettsider og den oppdaterte undervisningsplanen INF1050-klasser-1
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1300 Introduksjon til databaser Eksamensdag: 1. desember 2014 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerDataorientert modellering
INF2120 Dataorientert modellering Ragnar Normann 1. mars 2006 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill
DetaljerDagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler Institutt for informatikk INF1300 26.11.2011 michael@ifi.uio.no 1 Ringskranker INF1300
DetaljerUNIVERSITETET I OSLO INF1300. Dagens tema: Ringskranker. Tommelfingerregler. Institutt for informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler Institutt for informatikk INF1300 19.10.2009 Ellen Munthe-Kaas 1 Ringskranker INF1300
Detaljer