Datamodellering noen temaer

Størrelse: px
Begynne med side:

Download "Datamodellering noen temaer"

Transkript

1 Datamodellering noen temaer Disse notatene er kun en oversikt over en del prinsipielt stoff innen datamodellering. Disse må kompletteres med mer om aktuell(e) notasjon(er) som brukes (her finnes bare en grov oversikt). mer om vanlige struktur (noen eksempler, uten forklaring finnes i de siste sidene) mer om dette kommer på forelesningene. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

2 Datamodellering prinsippielt Hva er en datamodell? Noen fokuserer på Beskrivelse av en informasjonsstruktur Andre på Tegning av en databasestruktur Mest vanlig bruk i praksis: Ideer, behov m.m. for strukturering av informasjon Diskusjon, retting, mer diskusjon, forbedring, etc. Sted Omfattende løsning, men noen detaljer er kuttet ut. Postnr Poststed snavn hører til Bilmerke Datamodellering: Det av systemanalyse / planlegging / systemering Selskap Rabattype Selskap Rabattprosent Rabattypetekst SendesTil Sendetekst Egenandel *Selskap *Rabattypetekst Egenandelbeløp Årsakstype Årssakteller Årsaknavn Bil Kunde Kundenr Kundenavn Adresse *Postnr bileier fører Assistanse Assistansenr *Selskap *Rabattypetekst *Registreringsnr KmStand UtførtAssistanse Anmerkning *Sendetekst Starttid Sluttid *Kundenr Bergingsbil Bilmerkenavn Biltypenavn Registreringsnr *snavn *Bilmerkenavn Forventet_inn_kl AssistanseBil Tjenestetype *Registreringsnr *Assistansenr Tjenestenavn Dekningsområde Lengdetype Tidkategori rekvireres fra Lengdekategori Tidkode Tidtekst Biltype Biltypekode Biltypenavn Tjeneste_i_kategori Tjenestenr *Lengdekategori CREATE TABLE Gruppe ( Gruppenr Integer NOT NULL, Gruppenavn Varchar(30), PRIMARY KEY ( Gruppenr ) ); CREATE TABLE Student ( Gruppenr Int NOT NULL, NrInnenGruppe Int NOT NULL, Databasedefinisjon Fornavn Varchar(20), Etternavn Varchar(20), Telefonnr Varchar(20), DBkunnskap Varchar(100), Postnr Varchar(4), PRIMARY KEY ( Gruppenr, NrInnenGruppe ) ); CREATE TABLE Sted ( Postnr Varchar(4), Utvikling av grafisk brukergrensesnitt Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

3 Fra enkeltforekomster til typer / klasser av ting "Ting" "Data om ting" Klassifikasjonsretning K l a s s e F o r e k o m s t e r Ansatt Ansatt Ansattnr Ansattnav n 6723 Per 2134 Hans 3154 Ole 3265 Per Generali sering Beskrivelse Symbol Formelt begrep Type/klasse av tingen (hele boksen) Navn på denne klassifikasjonen Ansatt Interessante data for denne typen/klassen Ansattnr Ansattnav n entitetstype attributter entitetstypenavn Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

4 Fra enkeltsammenhenger til typer / klasser av sammenhenger Per 2134 Hans 3154 Ole 3265 Per jobber i jobber i jobber i jobber i 1 Klær 2 Jernvare 3 Sko Hver av strekene er en relasjon mellom to "ting". Siden disse er mellom de samme ting av samme type, er det naturlig å gjøre en tilsvarende klassifikasjon som vi gjorde for entitetstyper. Hvis vi forutsetter at hver ansatt jobber i en og bare en avdeling, og at avdelinger i alle fall av og til kan være uten ansette, ser vi at denne relasjonstypen blir min. 0 max. mange på venstre side, min. 1, max. 1 på høyre side, altså: Ansatt jobber i (i kråkefot-dialekt ) Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

5 Litt om maksima og minima, 1 Vi ønsker altså å kartlegge hvor mange av noe som er knyttet til noe annet : er det noen begrensninger i hvor mange av noe som kan knyttes til noe annet - dvs. maksimalt antall. Vanligvis er det snakk om o maksimum 1 o maksimum mange, dvs. ingen begrensninger på hvor mange. er det noen begrensninger i hvor få av noe som kan knyttes til noe annet dvs. minimalt antall. Vanligvis er det snakk om o minimum 0, dvs. ingen begrensninger på hvor få KAN o minimum 1, m.a.o. at noe må være knyttet til minst en annen MÅ I noen tilfelle er det interessant å oppgi et bestemt antall, f.eks. at en bil kan ha minimum 3, maksimum 4 hjul. Slikt må imidlertid spesialbehandles i databasen (via såkalte triggere), i applikasjonen som bruker databasen eller i program mellom databasen og applikasjonen. Videreføring av eksempelet over: hvor mange minimalt? hvor mange maksimalt? Ansatt jobber i har Fra til Ansatt: Hvis der er slik at hver avdeling kan ha fra 0 til uendelig mange ansatte, kan dette mer formelt skrives som: har minimum 0, maksimum mange Ansatt o bør vi anta at alle avdelinger har minst en ansatt? P.d.a.s. kan det kanskje finnes nyopprettede avdelinger uten ansatte? Fra Ansatt til : Hvis hver ansatt må jobbe i en gitt avdeling, og at den ansatte også maksimalt kan jobbe i en avdeling, blir det mer formelt: Ansatt jobber i minimum 1, maksimum 1 Men: er dette eneste mulighet? eppe! Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

6 Ansatt jobber i minimum 1, maksimum 1 o (som over) Ansatt jobber i minimum 0, maksimum 1 o (det er en eller flere som ikke er koblet til noen avdeling) Ansatt jobber i minimum 1, maksimum mange o (fordeler arbeidstiden mellom 1 eller flere avdelinger) Ansatt jobber i minimum 0, maksimum m o (fordeler arbeidstiden mellom 0 eller flere avdelinger) Hva som er riktig vil selvsagt avhenge av hva som er situasjonen i det firmaet vi skal lage databasen for, dvs. for oppdragiveren. Dette må vi finne ut ved samtale med oppdragsgiveren, eller fra en skriftlig beskrivelse av det påtenkte systemet. B: oen er svært nøye med alltid å spesifisere både maksimum og minimum, andre spesifiserer stort sett bare maksimum. Oppsummert: vanlige minima og maksima Minimalt antall: vanligvis 0 (ingen begrensning) eller 1. Maximalt antall: vanligvis 1 eller mange (ingen begrensning) mange. Hvor få minimalt (Min) 0 1 [ Hvor mange maksimalt (Max) 1 mange == > Min 0, max mange er egentlig ikke noen begrensning i det hele tatt. Minimum og maksimum vises på ulik måte i ulike datamodelleringsdialekter. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

7 Grunnleggende notasjon, som kråkefot hhv. UML-basert. Kråkefot UML-basert jobber i Ansatt Entitetstype/klasse Relasjonstype max 1 min. 1 min 0 max mange verb/rolle som beskriver hva rel. gjelder (en eller begge veier) Minimum kan sløyfes, men gir mindre nøyaktig modell. Verb eller rolle kan sløyfes, men er ofte nyttig for å forstå hva relasjonstypen gjelder. Merk parallelliteten med vanlig språk, f.eks: Ansatt jobber i min. 1, max. 1 og har min 0, max mange Ansatt. Entitet (-stype/-sklasse) (evt: bruker begrepet objektklasse også her) 1 (betyr min 1, max betyr min 0, max 1) jobber i * (betyr min 0, max m 1..* betyr min 1 max m) Ansatt Assosiasjon relasjonsnavn (en eller begge veier, viser retningen) Hvis minimum sløyfes, blir kan det være usikkert om 1 betyr min. 0 eller min. 1. Relasjonsnavn kan sløyfes, men er ofte nyttig for å forstå hva relasjonstypen gjelder. Notasjonen er en delmengde av klassediagram. o Fordel: samme notasjon. o Ulempe: man kan lett forledes til å tro at tankemåten ved modelleringen er lik. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

8 Med primærnøkkel (identifikator) og fremmednøkkel: Med primærnøkkel (identifikator) og fremmednøkkel: Ansatt Primærnøkkel (understreket) Primærnøkkel Ansattnr Fornavn Etternavn *snr Fremmednøkkel (markeres med * eller stiplet linje snr) Ansatt Ansattnr {PK} Fornavn Etternavn snr {FK} Fremmednøkkel Brukes ikke (og tas derfor ofte heller ikke med), er for operasjonener i en OO modell. Opplysningene (tilsvarende kolonner i databasen) kalles vanligvis attributter. Legg merke til forskjellen Entitetstyper er tingene i seg selv, f.eks. en Ansatt. Attributtene er opplysninger/egenskaper om tingene, f.eks. Ansattnr, fornavn, alder, sivilstatus o.l. Dette kan på en eller annen måte gis en verdi. Primær- og fremmednøkler i modellen? Det er ulike meninger om man bør ha med primær- og fremmednøkler i datamodellen hele tiden (betyr at man tenker relasjonsdatabase hele tiden) etter hvert bare når (hvis) man skal overføre modellen til en database. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

9 Flere relasjoner mellom de samme entitetene (og dermed også typene/klassene) Det kan godt finnes flere relasjoner mellom de samme entitetene, og til og med relasjoner mellom to entiteter av samme type. Det siste kalles gjerne egenrelasjoner. 1 Klær 2 Jernvare jobber i Ansatt er leder for (i kråkefotdialekt ) jobber i er leder for er sjef til er sjef til På type-nivå har vi dermed Ansatt jobber i, Ansatt er leder for Ansatt er sjef til Ansatt. Relasjonstypene kan altså være av flere former: en-til-mange mange-til-mange en-til-en (må splittes før overføring til database) (relativt sjelden i praksis) Dessuten: alle-til-alle (beskrives sjelden i modeller, men etter min mening viktig!) Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

10 Betegnelser er sjelden entydige! Med andre ord: Om forholdet mellom ting og navn på ting. Vi tror gjerne at begrep er temmelig entydige, og at man mener det samme eller samme ting med samme begrep. Dette er ofte ikke tilfelle. Vi bør derfor være nøye med begrepsbruk. Noen trivielle eksempler: Nederland Holland The Netherlands Norsk Rikskringkasting NRK Nårsk Rihkskringkrastring (feilstavet, men vi tenker på ) Norsk Riks Kringkasting Norges Røde Kors Røde Kors Raudekrossen Tegningene på venstre side brukes som bilde på selve tingene, mens navnene, eller betegnelsene står til høyre. Forholdet mellom "ting" og "navn på ting"/begreper er altså, sagt med en "kvasi"-datamodell: "Ting" "Begrep" Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

11 Det finnes flere ulike dialekter, bl.a. Chen s opprinnelige notasjon: Kunde 1 1 Kunde -Ordre Kundenr Kundenavn m m Kundekontakt Ordre m Vare m Kontaktnavn Kunde- Kundekontakt Ordrelinje Antall Har bl.a. super / subtyper, sterke og svake entitetstyper m.m. Kan tegne på eller utelate attributter i modellen Se f.eks. Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden: Modern Database Management, 6/e Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

12 Kråkefot: (er nærmest relasjonsdatabasetenkning, dermed enkel, men kan ikke beskrive alle avanserte deler.) Sted Gruppe Postnr Varchar(4) Poststed Varchar(30) Gruppenr Int Gruppenavn Varchar(30) Student *Gruppenr Int *NrInnenGruppe Int Fornavn Varchar(20) Etternavn Varchar(20) Telefonnr Varchar(20) DBkunnskap Varchar(100) *Postnr Varchar(4) Større modell: Sted Postnr Poststed Mulig gruppering:måleverdigenerator, Måleinstrument, syntese/ utviklingsverktøy Bruksområde Bruksområdenavn brukes i Utstyr Utstyrnr Utstyrnavn klassifiseres under Utstyrstype UtstyrstypeID Utstyrstypenavn NB! Har ikke splittet opp rene mange-til-mange-forhold. Disse er trivielle å ta siden, og tilfører ikke noe ekstra nytt til modellen. ISOtype OsoNr er gitt sertifisering til gjelder IsoFirma *Firmanr *IsoNr Fra_dato er poststed for arbeider innenfor Firma jobber i Firmanr Firmanavn Adresse *Postnr Akkrediteringnr Webadresse Firmaperson har kompetanse på PersonID *Firmanr Personnavn Epostadresse Kommentar Bransje Bransjenavn jobber innen tilbyr har har kompetanse for Firma_utstyr *Firmanr *Utstyrnr Firma_tjeneste finnes som *Firmanr *TjenesteID Akkreditert LeveranseAvtaleMåte LeveranseKrav Pris Tid_til_svar Tilbyr_veiledning Webadresse? Måleområde *Metodekode trengs til er aktuelt for bruker Testobjekt TestObjektID TestObjektNavn *OverTestObjektID brukes som Objekt_for_tjeneste *TestObjektID *TjenesteID Kommentar gjelder leveres av Kan tegne på eller utelate attributter i modellen. er aktuell for Hva_måles Hva_måles_ID Hva_kortnavn Hva_navn *Over_Hva_måles_ID Tjeneste klassifises under TjenesteID *TjenestetypeID *Hva_måles_ID i er aktuell for Tjenestetype Metode TjenestetypeID Typenavn Metodekode Kommentar MetodeNR IsoNr f.eks. prøving, salg/ utleie, kurs, utredning gjøres med Databasediagrammer som finnes i noen databasesystemer er i virkeligheten på kråkefot-form (selv om mange kanskje tegnes som el.l.). Se f.eks. Edgar Bostrøm: Datamodellering, praksis og teori. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

13 Forenkling av klassediagram fra UML, I: (Klassediagram er en sentral del av UML, Unified Modeling Language. Disse beskriver bl.a. objektklasser, med klassenavn attributter (data) operasjoner (metoder) Faktura Fakturanr Fakturadato. LagNy SkrivUt UtsettSending (antalldager) Hvis vi dropper operasjoner, kan dette ses på som et datamodelldiagram). Nesten kun med standard datamodellering : Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

14 Forenkling av klassediagram fra UML, II: Mer omfattende eksempel, bl.a. med arv: Teknikken er mer omfattene (f.eks. arv, komposisjoner m.m.). I tillegg til det som er vist over, kan høyere ordens assosiasjoner (relasjoner) markeres med en rombe (som i Chens s notasjon) Se f.eks. Connolly & Begg: Database Systems (bruker egentlig en kombinasjon begreper fra UML og Chen). I tillegg finnes naturligvis en rekke bøker om UML, men disse er (i alle fall som regel) ikke fokusert på data/databaseaspelktet. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

15 IAM ( ijsen s InformasjonsAnalyse Metode) / ORM (Object Role Model) (svært presis, på attributtnivå, men kan bli på litt for detaljert nivå) Ansatt (ansattnr) jobber i har (avdelingsnr) Større modell: Kalles nødvendigskranken eller påkrevd rolle Avdnavn (avdnr) Prosjektnavn Ansatt (ansattn r) Prosjektdeltagelse Prosjekt (prosjektnr) Ansattna vn Uke (ukenr) Timer (timetall ) Beskrivel se avtalt timetall faktisk timetall denne uken Ressursnavn Ressurstype (ressurskat) Beløp Dato forbrukt beløp Se f.eks. Gerhard Skagestein: Systemutvikling. Cappelen forlag. 1. utgave. 2. utgave bruker UML-basert notasjon. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

16 Klassifikasjon av datamodelleringsdialekter (litt forenklet): Primært: attributtnivå The binary NIAM/ORM model (ikke tatt opp her. Enkelt sagt: tegn opp alle attributtene + sammenhenger) entitets- kråkefot Chen forenklet UML typenivå databasenært relasjoner kan ha kan beskrive mange egne attributter typer strukturer, bl.a. fra obj.orient. enkel å forstå vanskeligere å forstå Samtidig: den reelle utfordringen er å kunne bruke språket i komplekse sammenhenger, ikke å kunne symbolene. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

17 I tillegg er det naturligvis mange varianter, bl.a. Skal det gjøres et skille mellom ulike stadier av utviklingen (jf. tidligere). o konseptuell o logisk o fysisk design (databasetypeuavhengig) (databasetypeavhengig) (da er vi egentlig dypt nede i databasedesign) Symbolbruk og mekanismer. hvilke symboler skal i tilfelle brukes? hvorledes markeres en og mange? skal minima markeres, i tilfelle hvorledes? hvilke avanserte mekanismer bør finnes? hvilke skranker bør kunne modelleres? begrepsbruk: entiteter eller typer, -klasser? Relasjoner, sammenhenger eller assosiasjoner? Og: det finnes verktøy for tegning av datamodeller generelle tegneverktøy (du kan tegne alt mulig) verktøy for mange teknikker (f.eks. innen UML) spesialverktøy for datamodellering større eller mindre grad av automatikk, designhjelp osv. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

18 Ansatt tilbudsansvarlig Kategori Delprosjekt Konkurrent Produktområde prosjektleder Prosjekt Partner har laget Konsulent Kunde utføres ved Stasjon Hovedenhet Hovedenhetkarakteristikum Kundekode Kontaktperson Sted Stasjonen inneholder også opplysninger om alle kunder Enhetstype Lovlig_nasjon Gruppe Gruppestasjon ANSATTE Redundansen mellom ANSATTE og Ansatt bør ordnes med senere Kunde_plukkliste Sentralbordelementer Fabrikat FabrikatModell Prosjektår Fakturering Prismetod Prosjekt_kontakt Generell metodikk (kort) Det er kunden som vet hvilken informasjon som trengs i systemet Vi er metodespesialister, men må passe på at vi ikke overkjører kundene. (Stikkord: modellmakt) Legg mye vekt på diskusjon av begreper (blir evt. tabellnavn siden) Jobb på overordnet nivå lengst mulig (normalt entitetstyper/objektklasser og relasjonstyper/assosiasjoner) Etter hvert vil da attributter falle på plass av seg selv. Vær forberedt på mange iterasjoner. o diskuter med kunden, diskuter med kollegaer, få tak i en hovedkritiker. o idealet er at du får full oversikt med en gang, men det er sjelden realistisk o mer realistisk: Oppdragsgiver Vurder, tenk, diskuter, krangl, beskriv, test ut oppdragsgiver eier Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

19 Tenk gjerne prototypeorientert! I forbindelse med databaser må du kanskje lage en eller flere databaseprototyper, for dermed å vinne erfaringer. Noen ganger kan det lønne seg å bruke plan to throw away - tenkning. M.a.o. (revidert fra 1. side): Prototypeorientert databaseutvikling Erfaring, metodekunnskaper, strukturer Ideer, behov m.m. for strukturering av informasjon Diskusjon, retting, mer diskusjon, forbedring, etc. Sted Omfattende løsning, men noen detaljer er kuttet ut. Postnr Poststed snavn hører til Bilmerke Selskap Selskap Rabattprosent Egenandel Rabattype Rabattypetekst SendesTil Sendetekst Kunde Kundenr Kundenavn Adresse *Postnr bileier fører Bilmerkenavn Biltypenavn AssistanseBil *Registreringsnr *Assistansenr Bergingsbil Registreringsnr *snavn *Bilmerkenavn Forventet_inn_kl Tjenestetype Tjenestenavn Dekningsområde CREATE TABLE Gruppe ( Gruppenr Integer NOT NULL, Gruppenavn Varchar(30), PRIMARY KEY ( *Selskap *Rabattypetekst Egenandelbeløp Årsakstype Årssakteller Årsaknavn Bil Assistanse Assistansenr *Selskap *Rabattypetekst *Registreringsnr KmStand UtførtAssistanse Anmerkning *Sendetekst Starttid Sluttid *Kundenr rekvireres fra Biltype Biltypekode Biltypenavn Lengdetype Tidkategori Lengdekategori Tidkode Tidtekst Tjeneste_i_kategori Tjenestenr *Lengdekategori Gruppenr ) ); CREATE TABLE Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

20 Praktisk datamodellering, I: (kun på stikkordsnivå, mer følger i forelesningene) Ikke alt kan beskrives i en datamodell ulike notasjoner har ulike muligheter (og kompleksitet) behov for skriftlig beskrivelse ved siden av ting som ikke lar seg beskrive i den grafiske modellen designbeslutninger som er tatt og vurdering av alternativer Datamodeller og nøkler bør primær- og evt. også fremmednøkler være med (bl.a. i forhold til detaljeringsgrad, konseptuell-logisk-fysisk osv). NB! PK & FK er en del av relasjonsmodelen, ikke modellering generelt. regler hvis fremmednøkler skal være med Hode/linje (hoved-del) -strukturer og graden av binding mellom disse (UML: komposision evt. aggregering). BOM (Bill-of-materials) Mange-til-mange og eventuell entitetisering mange-til-mange (beholdes eller entitetiseres) mange-til-mange og attributter (attributter på relasjonene eller ikke) selve teknikken 2. ordens entitetisering (viser seg at en allerede entietisert inneholder en mange-til-mange, slik at man må splitte på nytt). Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

21 Praktisk datamodellering, II: Flere relasjonstyper mellom de samme entitetstypene problemstillingen bruk i forbindelse med historikk modellering i forbindelse med en hoved- og flere tilleggs- Kontroll av lovlige verdier i ett nivå i flere nivåer, inkl. alle-til-alle eller mange-til-mange standardverdier og unntak Relasjonstyper mellom 3 eller flere inkl. ulike muligheter for dette. viktig: ulike skranker ut fra fremmednøkkelegenskaper Flere-rolle-problematikk og hvorledes legge struktur til data Hierarki fast antall nivåer og variabelt antall nivåer ettverk nettverk generelt nettverk med symmetri (ikke-rettede grafer), og problem med disse sammenheng mellom representasjoner: datamodeller, grafer og matriser Vanlige feil og hvorledes løse disse vifte-bommerten (= mist ikke tråden ) - engelsk: fan trap kløft-bommerten (= mist ikke mellomnivå ) - engelsk: chasm trap Kort om arv og muligheter i ulike modelleringsdialekter Kort om ener-stier og ekvivalente stier Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

22 Plassering av entitetstyper i modellen. Det kan være lurt å plassere entitetstyper som danner en naturlig helhet nær hverandre, slik at det blir færre streker på kryss og tvers. Også lettere å lese en helhet og se en totalstruktur. Oftest er det nødvendig med flere runder med tegning. Kan lønne seg å farge de ulike delene av en modell med ulike farger, mye lettere å lese. Hvis det er en liten modell kan det være en fordel å sette på alle attributtene. For en større modell blir det for detaljert. NB! Hvis modellen fremdeles endres en god del, kan det lønne seg å vente med attributter til du er nesten ferdig. Noen velger å modellere først og fremst med 1-ere øverst, mange nederst hvis mulig. Det kan gjøre modellen lettere å lese og mer entydig, men spiller ingen rolle for innholdet. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

23 otasjon og variasjoner i 3 av dialektene: Chen, kråkefot og nedskalert UML. En del detaljer og variasjoner mangler. Grunnleggende. For alle dialekter: attributter kan tas med eller utelates (avh. av hvor langt i prosessen og hvor stor modellen blir) ditto for domener/datatyper det finnes varianter for å vise min./max. Chens ER Kråkefot nedskalert UML arbeids sted Person 1 m Rollenavn / relasjonsnavn Personnr Personnavn min. 0, dvs. Avd. kan ha person Begrep: Entitet(styper), relasjon(styper), attributter. jobber i Begrep: Entitet(styper), relasjon(styper), attributter. 1 jobber i er arbeidssted for * Begrep: Entitet(styper) eller objektklasser, (multiplisitets)assosiasjoner, attributter. Er repetisjoner tillatt? Ja, på konseptuelt nivå Nei splittes ut i egne entitetstyper Ja, på konseptuelt nivå Person PersID ::::::::: Verbal beskrivelse. Kan evt. settes på begge sider. Alternativt brukes en rolle som relasjonsnavn Max. nærmest entitetstypen, evt. min. lenger unna Eksempel med attributter Person PersID ::::::::: 1 er (og kan skrives) skrives 0..1 Verbal beskrivelse. På en eller begge sider. Pil viser retning * er (og kan skrives) 0..* 1..* betegner 1..m. Eventuelle primær- og fremmednøkler Tas gjerne ikke med Hvis det tas med: Markeres f.eks. med primærnøkkel: understreking fremmednøkkel: prikket linje, *, el.l. Entitetisering Kan gjøres, men vanligvis settes det bare på attributter på relasjonen. Bare nødvendig ved 2. ordens entitetisering. Gjøres dersom relasjonen skal inneholde attributter. Person Kurs Hvis det tas med: markeres gjerne med {PK} hhv. {FK} bak attributtnavnet. Hvis (del av) begge deler: {PK,FK} Kan gjøres, men bare nødvendig ved det som ellers ville vært 2. ordens entitetisering. Assosiative entitetstyper m/ attributter kan legges på: * * Person Kurs Person Deltagelse Kurs Person PersID :::::::::: Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

24 n-ære relasjonstype / assosiasjoner (n >2) Avhengighet av andre entitetstyper (en entitet er avhengig av eksistensen av en annen entitet) Innebygdt i notasjonen, ingen forskjell på binære og n-ære. Ordre Ordrelinje kalles svak entitet / weak entity Arv Finnes ikke, må i tilfelle beskrives som 1:1, men gir ikke egentlig arv. Evt. entitetisering gjøres først, deretter henges nye entitetstyper på denne. Markeres ved at fremmednøkkelen er en del av primærnøkkelen (på mange-siden) Finnes ikke, må i tilfelle beskrives som 1: 1, men gir ikke egentlig arv. Bruk for å knytte dem sammen. Assosiative entitetstyper kan brukes Ordre Ordrelinje Kunde kalles komposisjon. Finnes også en mindre sterk kobling som kalles aggregering (markeres med i stedet for ). {Mandatory, Or} Forhold til normalisering Overføring til relasjonsdatabaser I tillegg: kan beskrive kombinasjoner av mandatory/optional og om en overordnet kan kobles til max. 1 eller til flere underordnede (or eller and), se over. Kan også være arv med ett barn, f.eks. bare Kunde og Utenlandskunde. Må evt. gjøre utsplittinger Er normalisert Må gjøre evt. utsplittinger Overføres til kråkefot el.l. først (fra konseptuelt til logisk nivå) Alternativt: Legg på primær- og fremmednøkler Evt. repetisjoner må tas bort. Entitetstyper blir til tabeller. Relasjoner som gjelder 1:m tas bort, relasjoner som gjelder m:m blir egne tabeller. Evt. mange-til-mange må entitetiseres. Ellers: entitetstyper blir til tabeller Utenlands kunde Innenlands kunde Evt. repetisjoner må tas bort. Entitetstyper/objektklasser blir til tabeller. Assosiasjonsattributter i m:m blir egne tabeller, andre m:m entitetiseres. Høyere ordens relasjonstyper blir til tabeller. Arv må omformuleres (flere alternativer finnes, ingen er helt gode). Dersom man bruker ORDB-utvidelser i systemer som har dette, kan arv implementeres. Litt om datamodellering Edgar Bostrøm. Versjon 1.4, vår

INF130: Datahåndtering og analyse

INF130: Datahåndtering og analyse INF130: Datahåndtering og analyse Modellering 1.1 Temaer Kapittel 7 Modellering 2 Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator

Detaljer

Datamodellering med E/R

Datamodellering med E/R Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator Forhold og roller Kardinaliteter: 1:1, 1:M, M:N Oppløsing av mange-til-mange

Detaljer

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven)

EKSAMEN. Emnekode: ITF10306. Emne: Databaser. Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) EKSAMEN Emnekode: ITF10306 Emne: Databaser Dato: 13.05.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4 sider inklusiv denne

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

EKSAMEN. Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene.

EKSAMEN. Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. EKSAMEN Emnekode: Emne: ITF10306 Databaser Dato: 21.05.19 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Oppgavesettet består av 3 tekstoppgaver og en quizz. Vedlegget består

Detaljer

Databaser & objektorientering.

Databaser & objektorientering. Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander

Detaljer

EKSAMEN. Innledning. Vedlegget består av 6 sider.

EKSAMEN. Innledning. Vedlegget består av 6 sider. ITF10306 1 Databaser Innledning EKSAMEN Emnekode: ITF10306 Emnenavn: Databaser Dato: 21.05.19 Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven). Faglærer: Edgar Bostrøm/Ida K.

Detaljer

1. Datamodellering. 1.1. Kommentarer til læreboka

1. Datamodellering. 1.1. Kommentarer til læreboka Tore Mallaug 20.10.2009 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Datamodellering Resymé: Denne leksjonen viser et par eksempler på ER-modellering

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering 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

Detaljer

Databaser. Eksamenstid: 13. mai 2016 Kl. 9,00 kl , 4 timer. Faglærer: Oppgavesettet består av 4 sider inklusiv denne forsiden.

Databaser. Eksamenstid: 13. mai 2016 Kl. 9,00 kl , 4 timer. Faglærer: Oppgavesettet består av 4 sider inklusiv denne forsiden. Høgskoleni østfold EKSAMEN Emnekode: ITF10306 Emnenavn: Databaser Dato: Eksamenstid: 13. mai 2016 Kl. 9,00 kl. 13.00, 4 timer Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Om

Detaljer

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

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008

Detaljer

Miniverden og ER- modell

Miniverden og ER- modell TDT4145 Datamodellering og databasesystemer SQL- oppgave 1 Miniverden og ER- modell Vi tar utgangspunkt i en enkel modell for en pizza- restaurant, der følgende ER- diagram beskriver databasen: Relasjonsdatabase-

Detaljer

Datamodellering 101 En tenkt høgskoledatabase

Datamodellering 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

Detaljer

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser 1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign

Detaljer

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser Kunnskapsorganisasjon og gjenfinning 1 Relasjonsmodellen og -databaser Tine L. Frost Relasjonsmodellen 17.09.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3.

Detaljer

Høgskoleni østfold EKSAMEN. består av 4 sider inklusiv denne forsiden. Vedlegget består av 6 sider.

Høgskoleni østfold EKSAMEN. består av 4 sider inklusiv denne forsiden. Vedlegget består av 6 sider. Høgskoleni østfold EKSAMEN Emnekode:Emne: ITF10306Databaser Dato: 12.05.15Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4 sider

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

NY OG UTSATT EKSAMEN

NY OG UTSATT EKSAMEN NY OG UTSATT EKSAMEN Emnekode: ITF10306 Emne: Databaser Dato: 03.01.13 Eksamenstid: 09.00-13.00. Hjelpemidler: Faglærer: Syntaksoversikt (vedlagt oppgaven) Edgar Bostrøm Oppgavesettet består av 4 sider

Detaljer

1. Designe ER-modeller med MS Visio

1. Designe ER-modeller med MS Visio Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke

Detaljer

Emnenavn: Databaser. Eksamenstid: 4 timer. Faglærer: Edgar Bostrøm

Emnenavn: Databaser. Eksamenstid: 4 timer. Faglærer: Edgar Bostrøm EKSAMEN Emnekode: ITF10306 Dato: 23.mai 2018 Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Emnenavn: Databaser Eksamenstid: 4 timer Faglærer: Edgar Bostrøm Om eksamensoppgaven og poengberegning: Oppgavesettet

Detaljer

Kunnskapsorganisasjon og gjenfinning 1

Kunnskapsorganisasjon og gjenfinning 1 Kunnskapsorganisasjon og gjenfinning 1 Normalisering Tine Lodberg Frost Normalisering 14.10.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3. utg.). Oslo: Høgskolen

Detaljer

Of Høgskoleni østfold

Of Høgskoleni østfold Of Høgskoleni østfold EKSAMEN Emnekode:Emne: ITF10306Databaser Dato: 08.01.15Eksamenstid: 09.00-13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven) Faglærer: Edgar Bostrøm Oppgavesettet består av 4

Detaljer

Del 1: ER-modellering og databaseteori

Del 1: ER-modellering og databaseteori Del 1: ER-modellering og databaseteori (a) ER-modellering Oppgavens del 1a er delt i tre deler. I første del skal det lages et ER-diagram for databasen til firmaet Sjokoladeland. Deretter skal det lages

Detaljer

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1 Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater

Detaljer

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu

UML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu UML 1 Use case drevet analyse og design 20.01.2004 Kirsten Ribu 1 I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 2 Domenemodell visualisering

Detaljer

1. SQL datadefinisjon og manipulering

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

Detaljer

Prosessmodell. Hurtigguider - rammeverk Sist redigert 13.06.2009. Snorre Fossland Eier og driver Snorres Modellbyrå

Prosessmodell. Hurtigguider - rammeverk Sist redigert 13.06.2009. Snorre Fossland Eier og driver Snorres Modellbyrå Prosessmodell Hurtigguider - rammeverk Sist redigert 13.06.2009 For å arbeide med prosessene, må du kunne synliggjøre og kommunisere dem på overordnet nivå. Du må også kunne bryte dem ned i mer detaljerte

Detaljer

Oppgaver Oppgave a: Sett opp mulige relasjoner

Oppgaver Oppgave a: Sett opp mulige relasjoner Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF3100/INF4100 Databasesystemer Eksamensdag : Onsdag 8. juni 2005 Tid for eksamen : 14.30 17.30 Oppgavesettet er på : 5 sider

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering 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

Detaljer

Modeller for design av Web-Applikasjoner

Modeller for design av Web-Applikasjoner Modeller for design av Web-Applikasjoner Kapittel 2: Data Modell Kapittel 3: Hypertekst Modell Av Eskil Saatvedt og Arianna Kyriacou. http://www.ii.uib.no/~eskil/fag/ http://www.ii.uib.no/~arianna/fag/

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

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

Det gjenstår nå kun å definere hva som skal være primærnøkkel i rolle rabellen.

Det gjenstår nå kun å definere hva som skal være primærnøkkel i rolle rabellen. Høgskolen i Østfold Databaser Datamodellering Noen temaer Rolf Henrik Bekkstrand 2008 Mange til mange Eksempel 1 Vi skal lage en datamodell for en database som skal representere filmer og skuespillere.

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering 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

Detaljer

OM DATABASER DATABASESYSTEMER

OM DATABASER DATABASESYSTEMER OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan

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

Spesifikasjon av Lag emne

Spesifikasjon av Lag emne Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Eksamen i IBE 210 - Databaser H 2008

Eksamen i IBE 210 - Databaser H 2008 Avdeling for økonomi, informatikk og samfunnsfag Eksamen i IBE 210 - Databaser H 2008 Eksamensdag : 5 desember 2008 Tid : 9.00 13.00 Faglærer/telefonnummer : Arne Løkketangen 99690939 Hjelpemidler : Alle

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

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

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL Side 1

Detaljer

Dataorientert modellering

Dataorientert modellering INF2120 Dataorientert modellering Ragnar Normann 9. mars 2005 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill

Detaljer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use

Detaljer

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

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

https://edu.hioa.no/bib1200/databaser/er-modellen/ 2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ]

https://edu.hioa.no/bib1200/databaser/er-modellen/ 2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ] [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 07/09-15 Data er de enkleste fakta om verden. Data er grunnlaget for å ha informasjon, og dermed kunnskap Data er "nøytrale" og

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72

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

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller 12.11.2014

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller 12.11.2014 Kunnskapsorganisasjon og gjenfinning 1 Spørring mot databaser: SQL 2 - Spørring mot flere tabeller SQL 2 - flere tabeller 12.11.2014 Dagens program SQL oppgave 2 - løsningsforslag Spørring mot flere tabeller

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

Introduksjon til fagfeltet

Introduksjon 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

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse

Detaljer

1. Innføring i bruk av MySQL Query Browser

1. Innføring i bruk av MySQL Query Browser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring

Detaljer

En liten rekap. Spørrespråk. I dag SELECT

En liten rekap. Spørrespråk. I dag SELECT [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 06/11-15 Databaser høsten 2015 En liten rekap ER-diagram - vi modellerer dataene våre til danne best mulig grunnlag for informasjonen

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

Hvordan designe en ER-modell med MS-VISIO

Hvordan designe en ER-modell med MS-VISIO AITeL Databaser Hvordan designe en ER-modell med MS-VISIO Kjell Toft Hansen 19. august 2003 Brukerveiledningen er forfatters eiendom. Som kursdeltaker kan du fritt bruke den til eget personlig bruk. Kursdeltakere

Detaljer

Med nye TINE Handel får du som kunde nytte og glede av følgende funksjoner:

Med nye TINE Handel får du som kunde nytte og glede av følgende funksjoner: Velkommen til nye TINE Handel! Vi har oppgradert TINE Handel med ny og bedre handelsfunksjonalitet, et bedre handelsløp og mange nye funksjoner og forbedringer. I tillegg har nettsiden tinepartner.no blitt

Detaljer

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser? UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering

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

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

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

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

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

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

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: 7.desember 2009 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2008HA

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

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT2243 1. mars 2007. Tema : Litteratur : Strukturert analyse. Strukturert analyse

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT2243 1. mars 2007. Tema : Litteratur : Strukturert analyse. Strukturert analyse Forelesning IMT2243 1. mars 2007 Tema : Litteratur : Art.saml. Punkt 9 : Kap. 9. SASD - modellen, E. Andersen Metoden går ut på å anvende et sett teknikker i arbeidet med å lage gode systemmodeller /beskrivelser

Detaljer

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer) Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal

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

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

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer) Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen

Detaljer

Produktrapport Gruppe 9

Produktrapport Gruppe 9 Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette

Detaljer

SOSI-forvaltning - logisk modell

SOSI-forvaltning - logisk modell SOSI-forvaltning - logisk modell Forfatter: David Skogan, SINTEF Tele og data Dato: 1997-01-21 Forord Min oppgave til møte den 22 var å beskrive den logisk modellen med skranker for SOSI-standarden. Jeg

Detaljer

1. SQL spørringer mot flere tabeller

1. SQL spørringer mot flere tabeller 1. SQL spørringer mot flere tabeller Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL spørringer mot flere tabeller Tore Mallaug 29.9.2008 Lærestoffet er utviklet for faget Databaser

Detaljer

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

Flere skranker i ORM Integritetsregler med «CHECK» i SQL IN2090 Databaser og datamodellering Flere skranker i ORM Integritetsregler med «CHECK» i SQL Mathias Stang (mjstang@ifi.uio.no) 10. oktober 2018 1 Agenda Verdiskranker Mengdeskranker Ekstern påkrevd rolle

Detaljer

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING Prosjekt 18 Jørgen Mobekk Sørensen Morten Evje Tor Andreas Baakind Anders Gabrielsen Side 1 1 FORORD Dette dokumentet er brukerveiledningen, og skal være en veiledning

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

Transaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS

Transaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS Transaksjonsstandard for virkesomsetningen i Norge Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 Innledning 3 2 Dokumentasjon av 3 2.1 Oversikt 3 2.1.1 Meldingstyper/funksjoner 3 2.1.2 BusinessAcknowledge

Detaljer

Den redundansfri datamodellen

Den 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

Detaljer

UKE 11 UML modellering og use case. Gruppetime INF1055

UKE 11 UML modellering og use case. Gruppetime INF1055 UKE 11 UML modellering og use case Gruppetime INF1055 Hva skal vi i dag? Analyse og design - kapittel 5 og 7 UML modellering Ukesoppgaver 3: Modellering av krav UML UML Kompetansemål Modellering av krav

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

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2008

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2008 Prosjektoppgave: Bildedatabase TDT4145 Datamodellering og Databasesystemer Våren 2008 NB! Kun for de som ikke tar fellesprosjektet. Innledning I løpet av de siste årene har det blitt stadig mer vanlig

Detaljer

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi.

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Innledning Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Oppgaven går ut på å implementer en database. Vi skal utforske og implementere noen av de mer avanserte mulighetene

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

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

VEDLEGG 7 INFORMASJONSMODELL

VEDLEGG 7 INFORMASJONSMODELL VEDLEGG 7 INFORMASJONSMODELL 1.1 INFORMASJONSMODELL Denne modellen skal danne et bilde av informasjonsinnholdet i det nye folkeregisteret. Informasjonsmodellen er en konseptuell modell som gir en overordnet

Detaljer

Kvikkbilde 8 6. Mål. Gjennomføring. Planleggingsdokument Kvikkbilde 8 6

Kvikkbilde 8 6. Mål. Gjennomføring. Planleggingsdokument Kvikkbilde 8 6 Kvikkbilde 8 6 Mål Generelt: Sammenligne og diskutere ulike måter å se et antall på. Utfordre elevene på å resonnere omkring tallenes struktur og egenskaper, samt egenskaper ved regneoperasjoner. Spesielt:

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

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

Modellering av data. Magnus Karge, Kartverket

Modellering av data. Magnus Karge, Kartverket Modellering av data Magnus Karge, Kartverket 02.05.2018 Modellering av data Innhold Sentrale elementer i klassediagrammer Sentrale elementer i pakkediagrammer Relevante standarder Internasjonalt: ISO 19103

Detaljer

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring: Kjell Toft Hansen 02.10.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgave 1 1. Spørring: SELECT oh.*, delnr, kvantum FROM ordrehode oh, ordredetalj

Detaljer

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker

Detaljer

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner

Etter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner Etter uke 9 skal du Introduksjon til objektorientert programmering INF1001 Høst 2016 Uke 9 Kunne designe og implementere en programstruktur med flere klasser Kunne etablere og manipulere objekter i (sammensatte)

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007 Prosjektoppgave: Bildedatabase TDT4145 Datamodellering og Databasesystemer Våren 2007 NB! Kun for de som ikke tar fellesprosjektet. Innledning I løpet av de siste årene har det blitt stadig mer vanlig

Detaljer

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)

Detaljer

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML) Innhold Unified Modelling Language UML INF1000 Høst 2015 Uke 8: Mer objektorientert programmering Siri Moe Jensen En ny type for-løkke Organisering av mengder av objekter HashMap Valg av representasjon

Detaljer

Tom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse

Tom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse IMT2243 Systemutvikling 26. februar 2007 Tema : Domenemodellering og Kravspeken - Repetisjon konseptuelle klassediagram - Eksempler - konseptuelle klassediagram (IHID løsningen og OL-Veiviseren) - Maler

Detaljer