Den redundansfri datamodellen

Størrelse: px
Begynne med side:

Download "Den redundansfri datamodellen"

Transkript

1 Den redundansfri datamodellen jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-

2 Dagens tema Individer i interesseområdet Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? Begrepsdannelse Høyere ordens assosiasjoner Litt om tid Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-2

3 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem Brukere Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-3

4 Figur 5-2. Ogdens trekant Thoughts of Reference Begreper Bil Døgn DF febr Symbol Lingvistiske elementer representasjoner Referent Fenomener i interesseområdet Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-4

5 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 dmredundansfri-5

6 Den grunnleggende konstruksjonen det elementære utsagnet Begrep identifikatordel {id} min..max rolle min..max rolle2 Begrep2 identifikatordel2 {id} Greitt, men hvordan bygger vi modeller med den? Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-6

7 Datamodellererens tre bud. Du skal kunne identifisere begrepsforekomstene! 2. Du skal ikke ha dobbeltlagringer! 3. Du skal ikke ha 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 dmredundansfri-7

8 Identifiserbare begrepsforekomster Begrep? {id} rolle?? Hvilke individer (begrepsforekomster) skal vi vite noe om? Hvordan representerer vi disse individene? Eksempel: Hvordan ser vi på en haug med binders? Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-8

9 Eksempel på dobbeltlagring av opplysning navn {id} gateadresse postnr poststed innebygd elementært utsagn navn Dal Li gateadresse Storgata 7 Lilleveien 3 postnr poststed Ski Ski Dobbeltlagrede opplysninger åpner for inkonsistens i forekomstene! Fjell Nyveien Moss Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-9

10 Eksempel på avledet opplysning Firma Avledet assosiasjon orgnr {id} omfatter OBS! tilhører /jobber-i avdnr {id} Avdeling jobber-i Ansatt fødselsnr {id} Ansatt jobber-i Avdeling Avdeling tilhører Firma Ansatt jobber-i Firma Avledede opplysninger åpner for inkonsistens i forekomstene! Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-0

11 Eksempel på ikke avledet opplysning Firma orgnr {id} omfatter tilhører har-oppdrag-for avdnr {id} Avdeling jobber-i Ansatt fødselsnr {id} Ansatt jobber-i Avdeling Avdeling tilhører Firma Ansatt har-oppdrag-for Firma Det er altså ikke nok å se på bare hvordan modellen ser ut! Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-

12 En unormalisert modell navn {id} gateadresse postnr poststed Funksjonell avhengighet En datamodell (og en database) som ikke er navn gateadresse postnr poststed normalisert, vil åpne for dobbeltlagring Dal Storgata Ski av opplysninger Li Lilleveien Ski Fjell Nyveien Moss Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-2

13 En funksjonell avhengighet skjuler en assosiasjon som skilles ut navn {id} gateadresse postnr {fk} poststedsnavn Poststed postnr {id} poststedsnavn Funksjonell avhengighet Å finne funksjonelle assosiasjoner og å finne funksjonelle avhengigheter det er samme sak Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-3

14 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 dmredundansfri-4

15 Alternativet: Gruppering av ugruppert modell navn {id} Poststed postnr {id} Gateadresse gateadresse {id} Poststedsnavn poststedsnavn {id} navn {id} gateadresse postnr {fk} Poststed postnr {id} poststedsnavn Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-5

16 Ugruppert og gruppert modell - eksempel Emne emnekode {id} Kurs semesterkode {id} 0.. # {id} Antall antall_ studenter Emne emnekode {id} emnekode {fk}{id} semesterkode {id} antall_studenter{fk}{null} 0.. # {id} Antall antall_ studenter Emne emnekode {id} Trinn Trinn 2 Kurs Kurs emnekode {fk}{id} semesterkode {id} antall_studenter {null}. Generere fremmednøkler 2. Sløyfe overflødige klasser og fjerne {fk} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-6

17 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 dmredundansfri-7

18 Fra normalisert modell til relasjonsdatabase navn {id} Poststed postnr {id} Gateadresse gateadresse {id} Poststedsnavn poststedsnavn {id} navn {id} gateadresse postnr {fk} Poststed postnr {id} poststedsnavn navn Dal gateadresse Storgata 7 postnr 400 {subset} postnr 400 poststed Ski Li Lilleveien Moss Fjell Nyveien Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-8

19 Gruppering eller normalisering? navn {id} Poststed postnr {id} Gateadresse gateadresse {id} Poststedsnavn poststedsnavn {id} Normalisering navn {id} gateadresse postnr poststedsnavn Gruppering navn {id} gateadresse postnr {fk} Poststed postnr {id} poststedsnavn Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-9

20 Ulike veier til den redundansfri modellen Interesseområdet Modellering med elementære utsagn Intuisjon Alt i én tabell Elementære utsagn Gruppering Redundansfri (normalisert) modell Normalisering Universalrelasjonen Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-20

21 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? navn {id} telefon e-post gateadresse postnr poststed Hvordan faller denne kontrollen ut for klassen? Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-2

22 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! dmredundansfri-22

23 Begrepsdannelse En mange-til-mange-assosiasjon kan tolkes som et begrep OBS! Kommune kommunenr {id} gjenvunnet_materiale Materiale materialnavn {id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-23

24 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 dmredundansfri-24

25 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} Meget viktig konvertering! 0.. gjenvunnet mengde Institutt for informatikk Gerhard Skagestein 4. februar 2007 Mengde # tonn {id} dmredundansfri-25

26 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 dmredundansfri-26

27 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 dmredundansfri-27

28 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 dmredundansfri-28

29 Fjern høyere ordens assosiasjoner vha. nye begreper Materiale materialnavn {id} Avfallsselskap selskapsnavn {id} avfallsinnsamler gjenvunnet_ materiale Material- fying» «identi- 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 dmredundansfri-29

30 Overlappende entydighetsskranker Time ukedag,timenr {id} Lærer ansattnr {id} Forelesning fying» «identi- Rom romnr {id} Hvordan viser vi dette i UML? lærer time rom Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-30

31 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 dmredundansfri-3

32 Kurssystemet (forts.) Emne emnekode {id} anbefalte-forkunnskaper Student navn {id} tar tas-av Kurs semesterkode {id} Hovedlærer navn {id} OBS! /antall_studenter 0.. Antall # {id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-32

33 Kurssystemet begrepsdannelse Emne Forkunnskap anbefalteforkunnskaper emnekode {id} /antall_ studenter navn {id} tar tas-av Påmelding Kurs semesterkode {id} 0.. Antall # {id} Undervisning hovedlærer Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-33

34 Kurssystemet konvertere assosiasjonsklasser Forkunnskap navn {id} hoved lærer Påmelding Undervisning Emne emnekode {id} anbefalteforkunnskaper Kurs semesterkode {id} /antall_ studenter 0.. Antall # {id} Dermed er modellen ferdig Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-34

35 Kurssystemet gruppering Forkunnskap etterfølger {fk}{id} forgjenger {fk}{id} anbefalteforkunnskaper Påmelding Emne emnekode {id} emnekode {fk}{id} semesterkode {fk}{id} Kurs student {fk}{id} navn {id} emnekode {fk}{id} semesterkode {id} Undervisning hoved /antall_stud{fk}{null} lærer emnekode {fk}{id} semesterkode {fk}{id} hovedlærer {fk}{id} For å finne fram til tabellene i en tabelldatabase må vi først generere fremmednøklene /antall_ studenter 0.. Antall # {id} Unyttig klasse Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-35

36 Kurssystemet tabelldatabasen {subset} {subset} Emne emnekode Forkunnskap etterfølger forgjenger {subset} Kurs emnekode semesterkode antall-stud navn {subset} {subset} {subset} Påmelding emnekode semesterkode student {subset} Undervisning emnekode semesterkode hovedlærer En tabell for hver klasse Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-36

37 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 INF050 vår2006 vår Eksempler på forekomster Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-37

38 Litt om tid Tiden er kontinuerlig derfor må den deles opp i små stykker den mådiskretiseres (jf. læreboka figur 2-3) Mulig verdi Diskretisert verdi Virkelig verdi x x Størrelsen på stykkene bestemmer oppløsningsevnen (jf. læreboka figur 2-4) Hendelse Hendelse2 Hendelse3 Som regel velger vi inndelinger som er kjent fra kalender og klokke x x x t Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-38

39 Datamodell med tidsdimensjon År jf. lærebokas figur 5-0 kommunenr {id} kommunenavn {id} Kommunenavn Kommune årstall {id} Materialgjenvinning _ikommuneår gjenvunnet_ materiale 0.. gjenvunnet mengde Materiale materialnavn {id} Mengde # tonn {id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-39

40 Relasjonsdatabase med tidsdimensjon Kommune kommunenr NOT NULL kommunenavn {subset} Materialgjenvinning _ikommuneår kommunenr materialnavn år gjenvunnet_mengde Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-40

41 Forkunnskap navn {id} hoved lærer Kurssystemet (forts.) Påmelding Undervisning Emne emnekode {id} Kurs anbefalteforkunnskaper semesterkode{id} 0.. Antall # {id} /antall_ studenter Tidsbegrepet kan være skjult Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-4

42 Forkunnskap navn {id} hoved lærer Kurssystemet med tidsbegrep Påmelding Undervisning Emne emnekode {id} Kurs semesterkode{id} semesterkode{id} Semester anbefalteforkunnskaper 0.. Antall # {id} /antall_ studenter Semester som tidsbegrep Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-42

43 Underbegreper Jfr. Fra kjernen og ut, fra skallet og inn avsnitt 5.3 og Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-43

44 Homogenitetsregelen Alle tenkelige forekomster av et begrep skal kunne spille alle roller som er tilknyttet begrepet. Vi krever ikke alltid at datamodellen tilfredsstiller homogenitetsregelen, men den blir mer presis hvis den gjør det. Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-44

45 Figur 5-. Spesialisering og generalisering Underbegreper Mann fødselsnr {id} ektemann hustru Kvinne fødselsnr {id} fødselsnr {id} a) Generalisering Spesialisering ektemann b) hustru c) Mann fødselsnr {id} ektemann hustru {disjoint, complete} Kvinne Underbegrepet arver representasjonen til superbegrepet. Ingen representasjon i underbegrepene! Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-45

46 Bruk av homogenitetsregelen Kjønn kjønnskode {id} kjønn fødselsnr {id} Fornavn navn {id} 0.. antall fødsler Antall # {id} Kjønn kjønnskode {id} /kjønn fødselsnr {id} Fornavn navn {id} Hvorfor minimumsmultiplisitet = 0? {disjoint, complete} Mann Kvinne Institutt for informatikk Gerhard Skagestein 4. februar 2007 antall fødsler Antall # {id} dmredundansfri-46

47 Figur Underbegrep med diskriminerende assosiasjon Kjønn 0.. Fornavn kjønnskode {id} fødselsnr {id} navn {id} diskriminerende assosiasjon {disjoint, complete} {kjønn='m'} {kjønn='k'} Mann ektemann hustru Kvinne antall fødsler Mann.kjønn = M Kvinne.kjønn = K Antall # {id} Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-47

48 a) Separasjon Figur 5-9. Håndtering av underbegreper NOT NULL fødselsnr kjønn fornavn Mann {subset} fødselsnr Kvinne {subset} NOT NULL fødselsnr antall_fødsler b) Absorpsjon NOT NULL fødselsnr kjønn fornavn antall_fødsler nil hvis kjønn = m c) Partisjonering Kan sløyfes, ingen forekomster fødselsnr Kan sløyfes, overflødig 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 dmredundansfri-48

49 Kurssystemet innføring av underbegreper Lærer navn {id} hoved lærer Student Er homogenitetsregelen oppfylt overalt? Forkunnskap alle tenkelige i øyeblikket? i all tid? Institutt for informatikk Gerhard Skagestein 4. februar 2007 Undervisning Emne emnekode {id} Påmelding Kurs anbefalteforkunnskaper semesterkode{id} dmredundansfri-49

50 Oppsummering Vær bevisst på hvilke individer vi skal vite noe om I en redundansfri datamodell skal det ikke finnes o dobbeltlagrede opplysninger o avledede opplysninger Redundansfrihet kan oppnås ved o gruppering av elementære utsagn o normalisering o intuisjon ( gå rett på ) Begrepsdannelse: Mange-til-mange-assosiasjoner kan oppfattes som et begrep Tid krever diskretisering Underbegreper kan avdekkes ved å bruke homogenitetsregelen Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri-50

Datamodellering med UML (forts.)

Datamodellering med UML (forts.) 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- Modellenes to formål Interesseområdet

Detaljer

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

Dagens 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

Detaljer

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. 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

Detaljer

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

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

Detaljer

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.) 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

Detaljer

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.) 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

Detaljer

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

Datamodellering 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

Detaljer

Datamodellering med UML

Datamodellering 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

Detaljer

Datamodellering med ORM

Datamodellering 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

Detaljer

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

Datamodellering 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

Detaljer

The Unified Modeling Language - UML

The 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

Detaljer

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

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

Detaljer

Hva vi i alle fall bør huske fra INF1050

Hva 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

Detaljer

INF1050 Klasseromsoppgave Uke 6

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

Detaljer

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

Intermesso. 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

Detaljer

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

Gerhard 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

Detaljer

Fra uryddig verden til strukturert stoppestedsdatabase

Fra 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

Detaljer

Skranker og avledninger

Skranker 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)

Detaljer

Skranker og avledninger

Skranker 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

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

Informasjonsbærende representasjoner

Informasjonsbæ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

Detaljer

Signalgrensesnitt for Trafikanten Pluss

Signalgrensesnitt 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

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

UNIVERSITETET 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

Detaljer

Språk for dataorientert modellering

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

Detaljer

UNIVERSITETET. Relasjonsdatabasedesign

UNIVERSITETET. 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

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign 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.

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign 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

Detaljer

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

Repetisjon: (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

Detaljer

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

Repetisjon: (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

Detaljer

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

Dagsorden. 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

Detaljer

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

Dagens 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker Institutt

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ekvivalente stier Behandling av tid Informasjonsbærende representasjoner INF1300-17.9.2007 Ellen Munthe-Kaas 1 Stier Dette er en sti

Detaljer

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

Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler Institutt for informatikk INF1300 21.09.2015

Detaljer

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

Dagens 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Databaser: Relasjonsmodellen, del I

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

Detaljer

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

*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU *UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU Historikk (Ikke bruk tid på å lese dette, den nyttige informasjonen begynner på neste side...) Ideen til å lage

Detaljer

Normalisering. Hva er normalisering?

Normalisering. 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

Detaljer

Normalisering. Hva er normalisering?

Normalisering. 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

Detaljer

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

Repetisjon: (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

Detaljer

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

Dagens 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

Detaljer

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

UNIVERSITETET 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

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Institutt for informatikk INF1300 29.8.2016 1 Et eksempel fra virkeligheten La oss se på

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign 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

Detaljer

Databaser. - Normalisering -

Databaser. - 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

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

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker INF1300 29.08.2017 Mathias Stang

Detaljer

Normalisering. Hva er normalisering?

Normalisering. 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Datamodellering: 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.

Detaljer

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

Representasjoner. 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign 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

Detaljer

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Institutt for informatikk 1 Et eksempel fra virkeligheten

Detaljer

IN2090 Introduksjon til databaser

IN2090 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

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

Datamodellering. 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

Detaljer

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler ORM som analysemetode

Detaljer

Vegard Nossum. 21. oktober 2010

Vegard 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-20.1.2014 Ellen Munthe-Kaas 1 Hvordan dekomponere tapsfritt Fagins teorem Gitt en relasjon R(XYZ) med FDer F.

Detaljer

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Realiseringsalgoritmen 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

Detaljer

INF1050 Klasseromsoppgave Uke 7

INF1050 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

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

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

SQL 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Dagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler

Dagens 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

Detaljer

UNIVERSITETET I OSLO INF1300. Dagens tema: Ringskranker. Tommelfingerregler. Institutt for informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET 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

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka

1. 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

Detaljer

Grafisk editor for automatisk gruppering og degruppering av dataorienterte klassediagrammer. Masteroppgave. Øyvind Stegard

Grafisk editor for automatisk gruppering og degruppering av dataorienterte klassediagrammer. Masteroppgave. Øyvind Stegard UNIVERSITETET I OSLO Institutt for informatikk Grafisk editor for automatisk gruppering og degruppering av dataorienterte klassediagrammer Masteroppgave Øyvind Stegard 19. desember 2005 Grafisk editor

Detaljer

IN2090 Introduksjon til databaser

IN2090 Introduksjon til databaser UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering: Begreper

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

Kart og andre umodne objekter

Kart 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker INF1300 1.9.2008 Ellen Munthe-Kaas 1 Et eksempel fra virkeligheten

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

Notater: INF1300. Veronika Heimsbakk 8. januar 2013 Notater: INF1300 Veronika Heimsbakk veronahe@student.matnat.uio.no 8. januar 2013 Innhold 1 ORM 3 1.1 Setningers aritet......................... 3 1.2 Faktatyper og broer i ORM................... 3 1.3

Detaljer

Relasjonsdatabaseteori

Relasjonsdatabaseteori 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

Detaljer

Repetisjon: Normalformer og SQL

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

Detaljer

Dagens tema: Oppdateringsanomalier Normalformer

Dagens 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?

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av

Detaljer

Oppdateringsanomalier Normalformer

Oppdateringsanomalier 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?

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer INF300-8..008 Ragnar Normann Institutt for Informatikk Hva kjennetegner god relasjonsdatabasedesign? Beslektet

Detaljer

IN2090 Databaser og datamodellering ORM 1

IN2090 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

Detaljer

Løsningsforslag matoppskrifter modellering

Løsningsforslag matoppskrifter modellering Løsningsforslag matoppskrifter modellering Oppgave 1 Det beste er å ha et felles løpenummer på alle oppskrifter, uavhengig av hvor de stammer fra, og heller ha ekstraopplysninger som avhenger av om oppskriften

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer Institutt for Informatikk INF300-9..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Beslektet

Detaljer

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering Normalisering Motivasjon Redundans Funksjonelle avhengigheter Determinanter Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering Pensum:

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign 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,

Detaljer

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

Gruppeøvelse 20/ Dagens tema: - Gruppering/realisering Gruppeøvelse 20/9-2010 Dagens tema: - Gruppering/realisering Gruppering, regler - I Lange piler fjernes før grupperingen begynner Stikkord: Begrepsdannelse, ekstern entydighet September 20, 2010 2 Gruppering,

Detaljer

Beskjed fra Skagestein

Beskjed 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

Detaljer

Kap3: Klassemodellering

Kap3: Klassemodellering Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØ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

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut Informasjonssystem bygd på et databasehåndteringssystem Brukergrensesnitt! inn ut Oppfatning av interesseområdet Flere samtidige brukere gir databasehåndteringssystemet store

Detaljer