Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Se ellers læreboka, kap , side

Liknende presentasjoner


Presentasjon om: "Se ellers læreboka, kap , side"— Utskrift av presentasjonen:

1 Se ellers læreboka, kap. 6.1-6.4, side 178-199
Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro. side 2-3 Sterke og svake entitetstyper side 4 Attributter side 5 Multiplisitet, 1:1, 1:*, *:* side 6-8 Binære, trinære og rekursive sammenhengstyper side 9-11 Entitetstyper med to sammenhengstyper side 12 Chen, 1975 Se ellers læreboka, kap , side Else Lervik, september 2012

2 ER-modellen er en konseptuell modell
(dvs en modell av hele databasen). Hensikt: Å beskrive dataene fra brukerens synsvinkel. Uavhengig av implementasjonsmodell og databasesystem – også uavhengig av relasjonsmodellen! Datamodellering og databaser Else Lervik, september 2012

3 Datamodellering og databaser Else Lervik, september 2012
Notasjon og begreper Mange notasjoner, vi bruker UML-diagram. Tar i bruk ER-begrepsapparatet, jamfører tilsvarende OO-begreper entitet ~ objekt entitetstype ~ klasse attributt sammenhengstype (eng: relationship type) ~ assosiasjon multiplisitet (1..1, 0..1, 0..*, 1..*, *..*) Primærnøkkel {PK} kommer inn som nytt begrep Datamodellering og databaser Else Lervik, september 2012

4 Sterke og svake entitetstyper
En sterk entitetstype eksisterer uavhengig av andre entitetstyper. En svak entitetstype er avhengig av en annen entitetstype for å kunne identifiseres. Identitetsavhengighet. prosjekt(prosjnr, prosjektnavn, budsjett, forbruk prosjektrapport(prosjnr*, dato, tittel, forfattere, sammendrag, innhold) Datamodellering og databaser Else Lervik, september 2012

5 Attributter Avledet attributt Sammensatt attributt
student(studnr, etternavn, fornavn, adresse, telefon, fdato, epost) snitt_karakter er et avledet attributt, den regnes ut og lagres ikke i databasen. Flerverdiet attributt student(studnr, etternavn, fornavn, adresse, fdato, epost) telefon(studnr*, tlfnr) Datamodellering og databaser Else Lervik, september 2012

6 Multiplisitet – en-til-en-sammenhengstype
Multiplisiteten bestemmer antallet mulige sammenhenger mellom entiteter i en sammenhengstype En-til-en-sammenhengstype En andelseier kan ha min 0, maks 1 lelighet En leilighet bebos av min 1, maks 1 andelseier andelseier(and_eier_nr, fornavn, etternavn, telefon, ansiennitet) leilighet(leil_nr, ant_rom, ant_kvm, etasje, and_eier_nr*) NOT NULL UNIQUE and_eier_nr INTEGER NOT NULL UNIQUE 0..1 – delvis avhengighet 1..1 – total avhengighet Konkrete sammenhenger mellom entiteter kan illustreres vhja semantiske nett (figur på tavla) Datamodellering og databaser Else Lervik, september 2012

7 Multiplisitet - en-til-mange-sammenhengstyper
En student bor på min. 1, maks. 1 poststed. (På) ett poststed (bor) min 0., maks. * (mange) studenter. student(studnr, fornavn, etternavn, adresse, postnr*) poststed(postnr, sted) Multiplisiteten refererer til maks-verdiene. Sammenhengen over er en-til-mange fra poststed til student. Minimumsverdien i 1..1 forteller om fremmednøkkelen kan være NULL eller ikke. Fremmednøkkelen postnr kan ikke være NULL, pga Minimumsverdien i 0..* forteller at det kan fins poststed uten studenter. Datamodellering og databaser Else Lervik, september 2012

8 Multiplisitet - mange-til-mange-sammenhengstyper
Én student velger minst ett fag, maks mange fag. Ett fag velges av min. 0 studenter, maks mange. student(studnr, etternavn,… fag(fagkode, fagnavn,…. fagvalg(studnr*, fagkode*, semester, betalt, karakter) En mange-til-mange-sammenheng medfører at vi må lage en “koplingstabell”/”koplingsrelasjon”. Primærnøkkelen i denne relasjonen er satt sammen av fremmednøkler som refererer til de involverte relasjonene. Datamodellering og databaser Else Lervik, september 2012

9 Dimensjon - tre-dimensjonal (trinær) sammenhengstype
Én person jobber i mange prosjekter i mange uker. I en bestemt uke jobbes det på mange prosjeketr av mange personer. På ett prosjekt jobber det mange personer i mange uker. person(pers_id, fornavn, etternavn, … prosjekt(prosjnr, prosjektnavn, … uke((uke, aar), norm_timer, …. timeliste(pers_id*, prosjnr*, (uke, aar)*, ant_timer) Datamodellering og databaser Else Lervik, september 2012

10 Rekursiv sammenhengstype
Hierarki/trestruktur Én person er sjef for min. 0, maks mange ansatte. Hver ansatt har min. 0, maks. 1 sjef. ansatt(ans_id, fornavn, etternavn, tlf, epost, har_som_sjef_id*) Nettverk Datamodellering og databaser Else Lervik, september 2012

11 Entitetstyper med to sammenhengstyper
Datamodellering og databaser Else Lervik, september 2012


Laste ned ppt "Se ellers læreboka, kap , side"

Liknende presentasjoner


Annonser fra Google