Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 4, uke 37 Datamodellering: ER-modeller.

Liknende presentasjoner


Presentasjon om: "LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 4, uke 37 Datamodellering: ER-modeller."— Utskrift av presentasjonen:

1 LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 4, uke 37 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 entitetstyperside 4 Attributterside 5 Multiplisitet, 1:1, 1:*, *:*side 6-8 Binære, trinære og rekursive sammenhengstyperside 9-11 Entitetstyper med to sammenhengstyperside 12 Chen, 1975 Se ellers læreboka, kap , side

2 Datamodellering og databaser Else Lervik, september 2012 side 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!

3 Datamodellering og databaser Else Lervik, september 2012 side 3 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

4 Datamodellering og databaser Else Lervik, september 2012 side 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)

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

6 Datamodellering og databaser Else Lervik, september 2012 side 6 Multiplisitet – en-til-en-sammenhengstype Multiplisiteten bestemmer antallet mulige sammenhenger mellom entiteter i en sammenhengstype En-til-en-sammenhengstype 0..1 – delvis avhengighet 1..1 – total avhengighet Konkrete sammenhenger mellom entiteter kan illustreres vhja semantiske nett (figur på tavla) 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

7 Datamodellering og databaser Else Lervik, september 2012 side 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.

8 Datamodellering og databaser Else Lervik, september 2012 side 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.

9 Datamodellering og databaser Else Lervik, september 2012 side 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)

10 Datamodellering og databaser Else Lervik, september 2012 side 10 Rekursiv sammenhengstype Hierarki/trestruktur Nettverk É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*)

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


Laste ned ppt "LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 4, uke 37 Datamodellering: ER-modeller."

Liknende presentasjoner


Annonser fra Google