Title: ER-diagrammer (databaser, del 4)
1ER-diagrammer (databaser, del 4)
2Videre fra data-flow diagrammer
- Ved hjælp af data-flow diagrammer kan vi begynde
at indse, hvilke entiteter vi skal lagre data om
i databasen - Kan også supplere med almindelige beskrivelser af
domænet - De indgående entiteter samt relationerne mellem
dem beskrives i et ER-diagram
3Entiteter og Relationer
- Entiteter og Relationer er de ting, som indgår i
et ER-diagram, deraf navnet - Entiteter Ting eller begreb. Vi ønsker at
registrere data om entiteter. - Relationer Relationer Vi ønsker at modellere
relationer mellem entiteter. Relationer er ikke
ting
4Hvorfor lave ER-diagrammer?
- Slutmålet er at lave en data-base, bestående af
tabeller. - Nemmere (for mennesker) at beskrive og forstå
verden med ER-diagrammer, end direkte med
tabeller - Rimeligt mekanisk at lave ER-diagrammer om til
tabeller
5ER - historier
- Fint nok, men hvorfor kan vi ikke bare skrive det
ned? - Her på skolen går der mange elever fordelt i
klasser, hver elev går i én klasse. Hver klasse
har mange timer i forskellige fag, og disse fag
afholdes i mange forskellige lokaler. På skolen
arbejder flere lærere, som underviser i flere
klasser (bla bla bla bla.)
6ER - historier
- Husk hele tiden, at målet med alle disse
værktøjer er at forstå problem-domænet. - Når vi kan skrive en fyldestgørende ER-historie
for problem-domænet, har vi nok forstået domænet
godt nok - Vi burde deraf kunne udlede de indgående
entiteter og relationer
7Symboler for Entiteter og Relationer
Entitet
Elev
f.eks.
Relation
Går i
f.eks.
8Hvordan finder jeg dem?
- Se på teksten fra før
- Her på skolen går der mange elever fordelt i
klasser, hver elev går i én klasse. Hver klasse
har mange timer i forskellige fag, og disse fag
afholdes i mange forskellige lokaler. På skolen
arbejder flere lærere, som underviser i flere
klasser - Navneord og Udsagnsord
9E R for en skole
Lærer
Fag
Klasse
Arbejder
Går i
Skole
Underviser i
Elev
Time
Afholdes i
Lokale
Går
10Relationer er mellem entiteter
- Med disse brikker kan vi prøve at få lavet
nogle relationer mellem entiteter
Går i
Elev
Klasse
Afholdes i
Fag
Lokale
11En relations kardinalitet
- Kardinaliteten siger noget om, hvor mange af hver
entitet der indgår i en relation - Det kaldes også for relationens type
- 1-til-1 relation
- 1-til-mange relation
- Mange-til-mange relation
En kardinal
12Typer af relationer
1-til-1, aka 11 Én genstand af den ene af entiteterne, kan kun relateres til én genstand af den anden entitet. f.eks. Mand-Gift Med-Kvinde
1-til-mange, aka 1m Én genstand af den ene af entiteterne, kan relateres til flere genstande af den anden entitet, men ikke omvendt! f.eks. Elev-Går i-Klasse
mange-til-mange, aka mm Flere genstande af den ene af entiteterne, kan relateres til flere genstande af den anden entitet. f.eks. Lærer-Underviser i-Fag
13Hvordan finder jeg relationstyper?
- Se på teksten fra før
- Her på skolen går der mange elever fordelt i
klasser, hver elev går i én klasse. Hver klasse
har mange timer i forskellige fag, og disse fag
afholdes i mange forskellige lokaler. På skolen
arbejder flere lærere, som underviser i flere
klasser - Se efter talordeller hvad det nu hedder
14ER nu med kardinalitet
- Ud fra beskrivelsen og vores egen viden kan
vi nu tilføje kardinaliteter til vores relationer
Går i
m
1
Elev
Klasse
Afholdes i
m
m
Fag
Lokale
15Så skal vi endelig bygge!
- Byg relationerne op en efter en, hver for sig
- Få styr på kardinaliteten for hver relation
- Sæt de færdige relationer ind i selve
ER-diagrammet, uden at lave dubletter af
entiteter.
16Vores skole ER-diagram
og så videre, og så videre
17Den 8. dødssynd
- MAN MÅ IKKE forveksle et ER-diagram med et
Data-Flow diagram!! - Der er ikke tid og flow i et ER-diagram
- Der er ikke relationer mellem entiteter i et
Data-Flow diagram
Ei8ht