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 MS Visio og notasjonen for UMLklassediagram. Innhold 1. DESIGNE ER-MODELLER MED MS VISIO... 1 1.1. INTRODUKSJON... 1 1.2. FINNE RIKTIG NOTASJON (DIAGRAMTYPE)... 2 1.3. HVORDAN DESIGNE DIAGRAMMER... 2 1.4. OPPRETTE ENTITETSTYPER... 3 1.5. OPPRETTE SAMMENHENGSTYPER OG MULTIPLISITET... 5 1.6. AVSLUTTE... 7 1.1. Introduksjon Med MS Visio kan vi designe ER-modeller ved å bruke UML (eng. Unified Modeling Language) notasjonen for klassediagram. Vi skal i dette kurset bruke MS Visio som et rent tegneverktøy. Vi skal ikke genererer SQL-script fra ER-modellen noe som for eksempel krever at referanseintegriteten, datatyper og verdidomene er realisert i diagrammet.
1.2. Finne riktig diagramtype Etter at vi har åpnet MS Visio, får vi fram skjermbildet som er vist på figur 1. Figur 1. Her må du velge Programvare og database fra menyen til venstre og deretter UML Modelldiagram. 1.3. Hvordan designe diagrammer Vi skal nå ha fått opp skjermbildet på figur 2. Figur 2. side 2 av 7
Det er i rutearket vi skal designe ER-diagrammene. Det kan være en fordel å gjøre rutearket mer brukervennlig ved å endre skaleringen som vist på figur 3. Figur 3. 1.4. Opprette entitetstyper Når vi skal designe en ER-modell, må vi først opprette entitetstypene (her: Klasse). Symbolet for entitetstypen finner vi i kolonnen til venstre for rutearket. Vi plasserer musepekeren over entitetstypesymbolet, holder venstre musetast nede og drar symbolet over i rutearket. Vi vil da få et entitetstypesymbol i rutearket som vist på figur 4. Figur 4. Nå må vi gi entitetstypen et passende navn. Dette gjør vi ved å plassere musepekeren på entitetstypesymbolet og dobbeltklikke. Da vil vi få fra skjermbildet som er vist på figur 5. Figur 5. Her skriver vi inn navnet til entitetstypen vi ønsker å opprette, i dette tilfellet Sted. Deretter må vi legge inn attributtene og trykker på kategorien Attributter i venstre meny og får fram skjermbildet som er vist på figur 6. side 3 av 7
Figur 6. Nå skal vi legge inn entitetstypens attributter. Dette gjør vi ved å trykke på Nytt for hvert attributt vi ønsker å tilføye i attributtlisten, som vist på figur 7. Figur 7 Vi må selv skrive inn navnet på attributtene. På figur 7 har vi lagt inn de to attributtene postnr og poststed. Attributtet må få et navn, og nøkkelattributtet (alt. identifikatoren) må merkes med {PK} (eng. Primary Key, no. primærnøkkel), som må skrives inn. Vi oppgir ikke noen datatype (uspesifisert) fordi diagrammet ikke skal oversettes til SQL-script. Attributtet skal være synlig som private (standardverdi) eller public (du kan bruke begge). Denne parameteren har kun betydning når vi jobber objektorientert (klassediagram) og ikke i ERmodellen som senere kun skal oversettes til relasjonelle tabeller i en relasjonsdatabase. I de øvrige kolonnene (Multiplisitet og Startverdi) bruker vi standardverdiene som MS Visio foreslår. Hvis vi skal legge inn et flerverdiattributt (som for eksempel telefon) må vi skrive inn multiplisitetssymbolet [0..*] selv. Når vi har lagt inn alle attributtene som på figur 7, trykker vi OK og får fram skjermbildet som er vist på figur 8. side 4 av 7
Figur 8. Tegnet foran attributtene har ingen betydning i ER-sammenheng. På figur 9 har vi lagt inn to entitetstyper med tilhørende attributter. Figur 9. Nå må vi lage en sammenhengstype (eng. relationship) mellom entitetene i de to entitetstypene: studenter bor på sted eller sted har studenter. Vi kan lese både fra høyre mot venstre og fra venstre mot høyre. Unngå verb som for eksempel er og har. 1.5. Opprette sammenhengstyper og multiplisitet Vi må velge sammenhengstypesymbolet Binær tilknytning (figur 10) som vi finner i venstre meny. Figur 10. Ved å holde venstre musetast nede, og dra symbolet over i rutearket og deretter knytte det til begge entitetstypene (Sted og Student), får vi opprettet sammenhengstypen mellom Sted og Student. Resultatet av framgangsmåten er vist på figur 11. side 5 av 7
Figur 11. Vi knytter hver ende av sammenhengstypen til et passende ankerpunkt på entitetstypen. Når vi har fått utført dette, må vi legge på sammenhengstypens multiplisitet og navn. Det gjør vi ved å dobbeltklikke med musepekeren på sammenhengstypen. Vi får da fram skjermbildet som er vist på figur 12. Figur 12. Her går vi direkte ned til Tilknytningsender og skriver inn et navn på sammenhengstypen i End1, «bor på». Navnet vi gir må si noe om hva sammenhengstypen innebærer i virkeligheten. Det er ikke nødvendig å ha navn på begge sider. Derfor kan vi slette teksten som står i rad to: End2. Vi må deretter velge riktig multiplisitet fra nedtrekksmenyen for hver rad under Multiplisitet. I vårt tilfelle velger vi 1..1, en student må ha minst én postadresse og kan ikke ha mer enn én. Vi må også legge inn multiplisiteten på den andre siden (End2). Et sted trenger ikke å ha noen studenter, men det kan være steder som har flere studenter. Komplett multiplisitet finner vi på figur 13. side 6 av 7
Figur 13. Deretter trykker vi OK og får fram skjermbildet som er vist på figur 14. Figur 14. Nå har vi laget en modell bestående av to entitetstyper med tilhørende attributter og nøkkelattributt. Vi har også laget sammenhengstypen mellom attributtene med navn og multiplisitet (binær sammenhengstype). Hvis oppgaven var å vise sammenhengen mellom studenter og hvor de bor, er dette nå et komplett ER-diagram. Ønsker vi å kopiere modellen til et tekstdokument velger vi Rediger og deretter Merk alt eller alternativt: merk hvert enkelt element i diagrammet deretter kopier og lim inn. Da gjenstår det bare å lagre modellen. 1.6. Avslutte Vi lagrer modellen ved å velge Fil/Lagre Som og deretter oppgir vi navn og sti. Til slutt avslutter vi å velge Avslutt. side 7 av 7