ER Diagram


ER Diagram är ett sätt att visualisera data och dess relationer. ER står för Entity-Relationship, vilket ungefär blir ”saker” och ”samband”. En entity i sammanhanget databaser, representerar en tabell. Relationsmodellen går ut på att data lagras i relationer, och en relation är lika med en tabell, med rader och kolumner.

 

Tupler och Attribut

Raderna brukar kallas tupler och kolumnerna attribut:

Tupler och attribut

Tupler och attribut

Så varje tupel innehåller data för en attribut. Vi ska inte gå djupare i det just nu, utan går vidare med själva visualiseringen av entiteter.

 

Exempel på ER-Diagram

Om vi nu vill visa en relation med ett ER-diagram mellan följande:

  • Fotograf kan ta flera foton
  • Foton måste tas av en fotograf
  • Foton måsta lagras på ett minneskort
  • Minneskort kan lagra många kort

…som har följande entiteter:

  • Entitet = fotograf
  • Entitet = foto
  • Entitet = minneskort

…så kan det se ut så här:

ER Relationsmodellen; fotograf, foto och minneskort

ER Relationsmodellen; fotograf, foto och minneskort

Lägg märke till linjerna mellan entiteterna, som anger på vilket sätt dom är relaterade. Här använder jag så kallade ”crow feet” eller kråkfötter, vilka man tolkar på följande sätt:

Så kallade crow feet eller kråkfötter anger relationen mellan entiteter

Så kallade crow feet eller kråkfötter anger relationen mellan entiteter

Som du ser betyder en cirkel att det är villkorligt medan ett streck betyder måste. Och det streck som är närmast entiteten betyder 1 och en gaffel betyder många. Som du såg fanns i varje entitet en övre attribut som heter id. Det är primär nyckel i fotograf,  genom den som entiteterna är kopplade till varandra.

 

Variant

En annan variant på ER-diagram ser ut så här:

ER-Relationsmodellen en annan version

ER-Relationsmodellen en annan version

I det här diagrammet används en diamant form för att specificera sambandet mellan entiteterna, och här representerar en 1:a som en och M står för många. En dubbel linje betyder att det måste vara ett/många och en enkel att det kan vara. Vidare kan du se att fotograf_namn länkar till fotograf_fnamn, och fotograf_enamn vilket betyder att man kan välja att ha med dom två andra eller bara använda fotograf_namn.

 

 

Primary Key & Foreign Key

För att kunna bygga förhållanden måste databasen vara skapad i innoDB och båda kolumnena måste vara indexerade. Och när man skapar en koppling i en databas på det här sättet så är det oftast en relatetion mellan en primary key och foreign key.

Foreign key är en nyckel som relaterar tillbaka till en primary key. En foreign key är ett fält (eller samling av fält) i en tabell som unikt identifierar en rad (primary key) i en annan tabell. Foreign key etablerar en relation, eller constraint, mellan två tabeller/entiteter. Och om man har en foreign key i en tabell måste den ha en matchande primary key i en annan tabell.

 

Typer av relationer

Det finns tre olika typerna av relationer:

  • Ett-till-ett
  • Ett-till-många
  • Många-till-många
ER Relationsmodellen; dom tre olika relationerna

ER Relationsmodellen; dom tre olika relationerna

Nu har du grundkunskaperna i hur man skapar ER-diagram och kan därför lättare planera en databas med tillhörande tabeller. Hoppas att du får användning av det här i framtiden och till nästa gång koda smart 😉

 

Lämna gärna kommentarer och om ni hittar fel ta gärna kontakt med mig.

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är märkta *