MySQL - E/R-diagrammer

ER-modellen

ER-modellen (Entity Relationship) anvendes til at få overblik over sammenhænge og relationer, og er oprindeligt blevet udviklet af Peter Pin-Shan Chen i 1976. Modellen har vist sig så så robust at den stadig anvendes.

Værktøjet kan bruges både til at beskrive og modellere databaser, men kan også anvendes til at beskrive relationer mellem mennesker. I denne guide vil ERD først blive gennemgået ud fra fra relationer mellem mennesker for at du får en ide om hvordan den kan anvendes til at få overblik over komplekse situationer. Overordnet set gælder følgende:

Entitet

DDO definerer en entitet som en "selvstændig fungerende del af en enhed" (Henvisning). I ER-diagrammer tegnes entiteter med en rektangel.

I vores Mentor-database er tabellen klasse_og_elever en entitet, da den beskriver alt vedrørende klasser og elever.

Figur: Rektangel

Relation

En relation beskriver et forbindelsesled mellem tabeller. I Mentor-databasen er tabellen klasser_og_mentorer det led der beskriver relationen mellem databasens andre tabeller

Figur: Rombe

Forbindelse

Forbindelsen beskriver måden entiteter og relationer forbinder sig med hinanden. der findes grundlæggende 3 former:

  1. En-til-mange
  2. Den mest almindelige form for forbindelse, som hjælper til at forhindre redundans (gentagelser) i databasen. Det kan f.eks. være en tabel med postnumre og byer, som sikrer at man f.eks. kun skal angive postnummeret når man skriver adresser. Databasen vil herefter selv hente bynavnet.

    Det sikrer også at det samme postnummer ikke kan have to forskellige bynavne.

  3. En-til-en
  4. En-til-en forbindelser sikrer at de to forbundne værdier kun kan have en forekomst i begge tabeller. Det kan f.eks. være smart, hvis man har et behov for at have to niveauer af datadefineret af relevans/privathed. Så kan man lave en tabel, hvor offentlige data er tilgængelige og en som indeholder de fortrolige ting.

  5. mange-til-mange
  6. I avancerede databaseløsninger kan det være nødvendigt at have relationer hvor der er mange både i hjemme- og fremmedtabellen. De er ikke relevante på dette niveau.

Anvendelse af ER-diagrammer

ER-diagrammer er gode at anvende i databasens planlægnings- og designfase, da den giver et overblik over databasens opbygning med tabeller og relationer. Sat op i ERD modellen vil mentordatabasen se ud som herunder.

Den ovenstående model viser os hvordan de enkelte tabeller forholder sig til hinanden, men fortæller intet om indholdet i databasen. Her kan man anvende en mere avanceret model som du kan se herunder:

PhpMyAdmin kan også vise databasen ved hjælp af en ER'ish visning, ved at vælge hele databasen og vælge menuen Designer (står under Mere hvis vinduet ikke er bredt nok).

Hvis du mangler den så download databasen her:

mentor_db_v2.sql

Relationer

Relationerne mellem tabellerne beskrives ved at sætte nogle linjer imellem tabellerne. På disse linjer kan der sættes forskellige symboler som forklarer hvordan relationen er mellem tabellerne/kolonnerne er.

Herunder er nævnt både de almindelige og bede betingende relationer. De betingede er gode at anvende under designet af en databasestruktur, da de kan være med til at afgøre om nogle tabeller skal oprettes eller ej.

Almindelige relationer

En til en

En til en (alternativ)

En til mange

Mange til mange

Betingede relationer

En og kun en

Ingen eller en

Ingen eller mange

En eller flere end en

Opret diagrammer

Den letteste måde at tegne diagrammer er ved at anvende tegneprogrammet der ligger på draw.io. Når man kommer ind på siden skal man vælge hvor den færdige tegning skal ligge. Hvis tegningen skal ligge på din computer skal du vælge Device.

Herefter skal du vælge om du vil lave et nyt diagram eller om du vil åbne et eksisterende. Vælg Create New Diagram.

draw.io har mange forskellige typer af diagrammer, men her vælger vi Blank Diagram og trykker Create.

Nu er du inde i selve programmet. I venstre side kan du vælge forskellige typer af figurerer. og i den højre side ændrer man på egenskaberne af det man arbejder med. Vælg Entity Relation i venstre side.

For at tegne dine diagrammer trækker du elementerne fra den venstre side ind på tegningen. Ved at holde musen over elementerne bliver elementerne forstørret så du kan se dem bedre.

Øvelse

Tegn mentor-databasen.

Diagrammer til udskrift

Download diagrambokse i PDF-format: er_diagram_bokse.pdf

Henvisninger

Video: https://youtu.be/B5r8CcTUs5Y

Henvisninger: https://www.youtube.com/results?search_query=eddie+who+database

E/R diagrammer
  1. https://pdfs.semanticscholar.org/e4cd/a968b46b3147bf9e8102543b927d28529ecc.pdf
  2. http://bit.csc.lsu.edu/~chen/pdf/ER_C.pdf
  3. http://slideplayer.dk/slide/3215117/
  4. https://docs.oracle.com/cd/A87860_01/doc/java.817/a81358/05_deva.gif
  5. https://www.smartdraw.com/entity-relationship-diagram/