Skip to content
ICT Fusion Knowledgebase

ERD

Een ERD, Entity Relationship Diagram, is een diagram dat de entiteiten en relaties tussen deze entiteiten weergeeft. Bij het ERD gaat het minder over specifieke details (zoals welk datatype heeft een kolom, of moet ik data opsplitsen in meerdere kolommen) maar meer over de logische structuur van de data.

Concept

Het maken van het ERD is een kans om samen met een gebruiker of opdrachtgever te kijken naar wat de gebruiker wil kunnen doen met de data en hoe dit in grote lijnen vastgelegd kan worden in een database. Het opstellen doe je dan ook samen en bespreek je deze met de gebruiker of opdrachtgever.

Daarom wordt het ERD ook wel het conceptuele model genoemd.

Voorbeeld Recepten website

Om een voorbeeld te nemen van hoe je tot een ERD komt kijken we naar een recepten website:

Pancake ah recipe

Een opdrachtgever zou met zo’n voorbeeld kunnen komen van wat hij/zij wil hebben, of op basis van vragen die jij stelt wil je kunnen achterhalen wat deze wil hebben.

Entiteiten

Wanneer je een beeld hebt van wat de gebruiker wil hebben dan kun je beginnen met de entiteiten te bepalen. Entiteiten zijn de verschillende objecten die in de database aanwezig zijn. Entiteiten moeten altijd zelfstandige naamwoorden en enkelvoudig zijn. Je moet over zo’n entiteit bijvoorbeeld zelf kunnen zeggen: “een recept”, “een ingredient”, “een categorie”, etc.

Uit dit voorbeeld, met de recepten website, kunnen we de volgende entiteiten bedenken:

ERD entities

Attributen

Attributen zijn de verschillende eigenschappen die een entiteit kan hebben. Attributen moeten altijd zelfstandige naamwoorden en enkelvoudig zijn. Je moet over zo’n attribuut bijvoorbeeld zelf kunnen zeggen: “de naam van een recept”, “de hoeveelheid van een ingredient”, “de prijs van een product”, etc.

Uit dit voorbeeld, met de recepten website, kunnen we de volgende attributen bedenken:

ERD attributes

Een attribuut kent in het ERD absoluut geen datatypes of moet volledig zijn uitgewerkt.

Wel kent het ERD indentifiers, dit is het attribuut welke geschikt zou kunnen zijn om een instantie te kunnen identificeren. Dit kan bijvoorbeeld de naam van een recept of de naam van een ingredient zijn. Dit is niet hetzelfde als een primary key; het hoeft niet altijd in elke situatie uniek te zijn (dit komt pas bij het database ontwerp). De identifiers zijn te herkennen aan een onderstreping van de attribuutnaam.

ERD attributes

Relaties

Relaties zijn verbindingen tussen entiteiten waarmee verhoudingen tussen deze entiteiten vastgelegd worden. Bijvoorbeeld een recept kan meerdere ingredienten hebben, en een ingredient kan in meerdere recepten voorkomen.

Een relatie bestaat uit een lijn tussen twee entiteiten en daarnaast de kardinaliteit. De kardinaliteit geeft aan hoeveel entiteiten van de ene entiteit verbonden kunnen zijn met de andere entiteit, deze plaats je aan beide kanten van de relatie.

ERD attributes

Afronden

Wanneer je klaar denkt te zijn met het ERD is het belangrijk om een check te doen.

  • Een ERD is zelden in één keer goed:
    • Hebben alle gegevens in de voorbeelden een plek gekregen in het ERD?
    • Heeft elk entiteit een identifier?
    • Is elk attribuut precies één keer weergegeven?
    • Is de naamgeving consequent?
  • Kloppend met werkelijkheid? Check met je opdrachtgever.
  • Conform informatiebehoefte? Check met je opdrachtgever.
  • Overeenkomend met bedrijfsregels? Check met je opdrachtgever.
  • Elk gegeven maar één keer weergegeven? -> Geen redundantie.
  • Geen tegenstrijdigheden.

Als je tevreden bent met het ERD dan kun je verdergaan met het database ontwerp.

Tooling

Het tekenen van een ERD is het makkelijkste op papier maar dat is weer lastig als je deze digitaal moet inleveren en je handschrift wat moeilijk te lezen is. Daarom raden wij de tool ‘draw.io’ aan. Deze kan je gebruiken op draw.io.

In deze tool heb je onder het kopje ‘Entity Relation’ een aantal figuren, waaronder relaties, zorg dat je voor een entiteit echt kiest voor een ‘Entity’ en niet een List of Table anders krijg je niet het juiste figuur:

ERD tooling

Om een attribuut te onderstrepen (en niet alle attributen!) dubbelklik je op de attributen in de entiteit, druk je op ‘Formatted Text’, zoals in deze screenshot te zien is:

ERD tooling

Vervolgens kan je de regel-tekst selecteren die je wilt onderstrepen en de styling toepassen:

ERD tooling

Als je gebruik maakt van deze tool kan je het ontwerp exporteren als png, wil je echter je model later nog willen aanpassen (bijvoorbeeld omdat er fouten in zitten!) is het belangrijk dat je het ook opslaat als .drawio bestand. Deze kan je direct opslaan in Google Drive, OneDrive, Dropbox maar ook op je computer.