Entity relationship diagrams tonen het verband tussen verschillende entiteiten in een systeem. Deze diagrammen zijn vooral handig om in één oogopslag te zien welke informatie er in een systeem aanwezig is en hoe deze met elkaar verbonden is. Ze helpen teams ook om na te denken over hoe gebruikers, software en databases in realtime scenario's met elkaar communiceren.
Ontdek meer over entity relationship diagrams, inclusief hun oorsprong, toepassingen, voorbeelden, componenten en hoe je ze tekent met onze ER-diagramtool.
Wat is een ER-diagram?
Een entity relationship (ER)-diagram is een type stroomdiagram dat illustreert hoe entiteiten zoals mensen, objecten of concepten binnen een systeem met elkaar in verband staan. ER-diagrammen worden meestal gebruikt voor het ontwerpen of debuggen van relationele databases op het gebied van software engineering, bedrijfsinformatiesystemen, onderwijs en onderzoek. Ze staan ook bekend als ERD's of ER-modellen en maken gebruik van een gedefinieerde set symbolen zoals rechthoeken, ruiten, ovalen en verbindingslijnen om de onderlinge verbondenheid van entiteiten, relaties and hun attributen weer te geven. Ze weerspiegelen een grammaticale structuur, met entiteiten als zelfstandige naamwoorden en relaties als werkwoorden.
ER-diagrammen zijn verwant aan data structure diagrams (DSD's), die zich richten op de relaties van elementen binnen entiteiten in plaats van relaties tussen entiteiten zelf. ER-diagrammen worden ook gebruikt in combinatie met data flow diagrams (DFD's), die de informatiestroom voor processen of systemen in kaart brengen.
Geschiedenis van ER-modellen
Peter Chen, een computerwetenschapper en toegepast wiskundige, wordt gecrediteerd voor de ontwikkeling van ER-modellering voor databaseontwerp in de jaren 70. Nog voordat de computerwetenschap bestond, ging de weergave van de onderlinge verbondenheid van dingen al terug naar het oude Griekenland met de werken van Aristoteles, Socrates en Plato. Het is recenter terug te zien in het 19e- en 20e-eeuwse werk van filosoof-logici zoals Charles Sanders Peirce en Gottlob Frege.
In de jaren 60 en 70 ontwikkelden Charles Bachman and A.P.G. Brown de voorgangers van Chens benadering. Bachman ontwikkelde een type datastructuurdiagram genaamd het Bachman-diagram. Brown publiceerde werken over het modelleren van real-world systemen. James Martin voegde verfijningen toe aan de ERD's. Het werk van Chen, Bachman, Brown, Martin en anderen droeg ook bij aan de ontwikkeling van Unified Modeling Language (UML), dat veel wordt gebruikt in softwareontwerp.
Toepassingen van entity relationship diagrams
Databaseontwerp
ER-diagrammen worden gebruikt om relationele databases te modelleren en te ontwerpen. Het logische datamodel wordt gebruikt voor logica en bedrijfsregels, en het fysieke datamodel wordt gebruikt voor de technologische implementatie. In software engineering is een ER-diagram vaak een eerste stap bij het bepalen van de vereisten voor een informatiesysteemproject. Het wordt later ook gebruikt om een specifieke database of databases te modelleren. Een relationele database heeft een equivalente relationele tabel en kan indien nodig op die manier worden uitgedrukt.
ERD's worden vaak gebruikt aan het begin van een nieuw databaseproject om de vereisten te schetsen en het team te helpen een model te bouwen dat de informatiestromen uitdrukt tussen de gebruiker, software, database en andere entiteiten. Omdat ze aannames en afhankelijkheden vroegtijdig zichtbaar maken, kunnen ERD's de planning en besluitvorming verbeteren voordat de implementatie begint.
Veelvoorkomende voordelen in een vroeg stadium zijn onder meer het sneller signaleren van problemen, het wegnemen van verwarring over complexe systemen en het beperken van risico's.
Databaseproblemen oplossen
ER-diagrammen worden gebruikt om bestaande databases te analyseren om problemen in de logica of implementatie te vinden en op te lossen. Het tekenen van het diagram helpt om te onthullen wat er misgaat.
Bedrijfsinformatiesystemen
De diagrammen worden gebruikt om relationele databases voor bedrijfsprocessen te ontwerpen of te analyseren. Elk bedrijfsproces dat gebruikmaakt van gestructureerde gegevens met entiteiten, acties en wisselwerkingen kan baat hebben bij een relationele database. Het kan processen stroomlijnen, informatie gemakkelijker vindbaar maken en resultaten verbeteren.
Business process re-engineering (BPR)
ER-diagrammen helpen bij het analyseren van databases die worden gebruikt bij business process re-engineering en bij het modelleren van een nieuwe databaseopzet.
Onderwijs
Databases are today's method of storing relational information for educational purposes and later retrieval, so ER diagrams can be valuable in planning those data structures.
Onderzoek
Omdat zoveel onderzoek zich richt op gestructureerde data, kunnen ER-diagrammen een sleutelrol spelen bij het opzetten van nuttige databases om de data te analyseren.
De componenten en functies van een ER-diagram
ER-diagrammen bestaan uit entiteiten, relaties en attributen. Ze tonen ook kardinaliteit, wat relaties definieert in termen van getallen. Hier is een verklarende woordenlijst:
Entiteit
Een entiteit is elk type data-object. Deze objecten kunnen computers, printers, werknemers, klanten, locaties, evenementen, concepten enzovoort zijn.
Entiteitstype: Een entiteitstype is een groep definieerbare dingen, zoals klanten of producten, terwijl de entiteit de specifieke klant of het specifieke product is.
Entiteitsset: Een entiteitsset is hetzelfde als een entiteitstype, maar is gedefinieerd op een specifiek moment in de tijd, zoals klanten die vorige maand een aankoop hebben gedaan. Een verwante term is instantie, waarbij een specifieke klant een instantie van de entiteitsset is.
Entiteitscategorieën: Entiteitscategorieën zijn onder meer sterk, zwak en associatief. Een sterke entiteit kan uitsluitend worden gedefinieerd door zijn eigen attributen, terwijl een zwakke entiteit dat niet kan. Een associatieve entiteit verbindt entiteiten (of elementen) binnen een entiteitsset.
Entiteitssleutels: Een entiteitssleutel is een attribuut dat op unieke wijze een entiteit definieert in een entiteitsset. Entiteitssleutels kunnen supersleutels, kandidaatsleutels of primaire sleutels zijn. Een supersleutel is een set attributen (een of meer) die samen een entiteit definiëren in een entiteitsset. Een kandidaatsleutel is een minimale supersleutel, wat betekent dat deze het kleinst mogelijke aantal attributen heeft om nog steeds een supersleutel te zijn. Een entiteitsset kan meer dan één kandidaatsleutel hebben. Een primaire sleutel is een kandidaatsleutel die door de databaseontwerper is gekozen om de entiteitsset uniek te identificeren.
Relatie
Relaties definiëren hoe entiteiten op elkaar inwerken of met elkaar geassocieerd zijn. Denk aan relaties als werkwoorden. Een specifieke klant kan bijvoorbeeld een product kopen. De twee entiteiten zijn de klant en het product, en de weergegeven relatie is de aankoophandeling, die de twee entiteiten op die manier verbindt. Relaties worden doorgaans weergegeven als ruiten of labels direct op de verbindingslijnen.
Recursieve relatie: Bij een recursieve relatie neemt dezelfde entiteit meer dan eens deel aan de relatie.
Attribuut
Attributen definiëren de eigenschappen van de entiteiten in je database. Je kunt bijvoorbeeld een entiteitsset voor klanten hebben met verschillende waarden voor naam, adres, betalingsinformatie enzovoort.
Beschrijvende attribuut: Een beschrijvend attribuut is een eigenschap of kenmerk van een relatie (in tegenstelling tot van een entiteit).
Attribuutcategorieën: Attribuutcategorieën zijn onder meer enkelvoudig, samengesteld, afgeleid, evenals met één waarde of met meerdere waarden. Een enkelvoudig attribuut is atomair en kan niet verder worden onderverdeeld, zoals een telefoonnummer. Een samengesteld attribuut is een subattribuut dat voortvloeit van een hoofdattribuut. Een afgeleid attribuut is berekend of op een andere manier afgeleid van een ander attribuut, zoals leeftijd op basis van een geboortedatum. Een attribuut met meerdere waarden heeft een waarde voor meer dan één attribuut, zoals meerdere telefoonnummers voor één persoon. Een attribuut met één waarde heeft slechts één attribuutwaarde. De typen kunnen worden gecombineerd, zoals enkelvoudige attributen met één waarde of samengestelde attributen op basis van meerdere waarden.
Kardinaliteit
Kardinaliteit definieert de numerieke kenmerken van de relatie tussen twee entiteiten of entiteitssets. De belangrijkste kardinale relaties zijn een-op-een, een-op-veel en veel-op-veel. Een voorbeeld van een-op-een is één klant die gekoppeld is aan één postadres. Een voorbeeld van een-op-veel (of veel-op-een, afhankelijk van de richting van de relatie) is één klant die meerdere producten koopt, waarbij al die producten een enkele lijn terug hebben naar die ene klant. In een veel-op-veel-voorbeeld worden klanten als groep geassocieerd met meerdere producten, en producten op hun beurt met meerdere klanten.
Kardinaliteitsweergaven: Kardinaliteitsweergaven kunnen worden weergegeven als look-across of same-side, afhankelijk van waar de symbolen worden getoond.
Kardinaliteitsbeperkingen: Kardinaliteitsbeperkingen zijn de minimale of maximale aantallen die gelden voor een relatie.
Natuurlijke taal in kaart brengen
ER-componenten kunnen worden gelijkgesteld aan woordsoorten. Dit laat zien hoe een ER-diagram zich verhoudt tot een taalkundig ontleeddiagram:
-
Soortnaam - Voorbeeld entiteitstype: klant
-
Eigennaam - Voorbeeld entiteit: Sally Smith
-
Werkwoord - Voorbeeld relatietype: koopt
-
Bijvoeglijk naamwoord - Voorbeeld attribuut voor entiteit: nieuw
-
Bijwoord - Voorbeeld attribuut voor relatie: digitaal
De database-querytaal ERROL bootst feitelijk natuurlijke taalconstructies na. ERROL is gebaseerd op 'reshaped relational algebra' (RRA) en werkt met ER-modellen, waarbij de taalkundige aspecten ervan worden vastgelegd.
ERD-symbolen en notaties
De volgende afbeeldingen tonen verschillende ERD-notatiesystemen. Bekijk de pagina met ERD-symbolen en notaties voor meer informatie.
Chen-notatiestijl
Crow's Foot/Martin/Information Engineering-stijl
Bachman-stijl
IDEF1X-stijl
Barker-stijl
Sommige teams passen ook de UML-notatie toe wanneer ze relaties in ER-stijl willen uitdrukken met objectgeoriënteerde conventies. Dit betekent niet dat het ERD een type UML-diagram wordt. In plaats daarvan betekent het simpelweg dat de UML-notatie wordt gebruikt om entiteitsrelaties en kardinaliteit te beschrijven. Bij de UML-notatie worden relaties weergegeven als een ononderbroken lijn die twee entiteiten verbindt. Kardinaliteiten worden op de lijn aangegeven (bijvoorbeeld 1..1 geeft een-op-een aan, of 1..* voor een-op-veel) en je kunt werkwoordfrasen toevoegen (zoals "gemaakt door" of "besteld door") om de relatie tussen de entiteiten te definiëren.
Voorbeelden
Hieronder volgen voorbeelden van ERD-diagrammen die in elk systeem zijn gemaakt.
Conceptuele, logische en fysieke datamodellen
ER-modellen en datamodellen worden doorgaans getekend op maximaal drie detailniveaus:
Conceptueel datamodel
Dit model toont de weergave op het hoogste niveau met de minste details. De waarde ervan ligt in het vastleggen van de algehele reikwijdte van het model en het weergeven van de systeemarchitecture. Voor een systeem met een kleinere reikwijdte kun je beginnen met het logische model.
Logisch datamodel
Dit model toont meer details dan een conceptueel model en definieert operationele en transactionele entiteiten. Het logische model is onafhankelijk van de technologie waarin het zal worden geïmplementeerd.
Fysiek datamodel
Uit elk logisch model kunnen één of meerdere fysieke modellen worden ontwikkeld. De fysieke modellen moeten voldoende technologische details bevatten om de daadwerkelijke database te produceren en te implementeren.
Naarmate systemen groeien, kan het moeilijk zijn om elk operationeel detail in één enkele, leesbare visual vast te leggen. Indien nodig kun je meer dan één grafiek gebruiken en naar behoefte verschillende niveaus van ERD's maken. Kleinere systemen daarentegen kunnen vaak eenvoudig worden weergegeven.
Beperkingen van ER-diagrammen en -modellen
ER-diagrammen en -modellen passen niet bij elk type database. Hier zijn verschillende redenen waarom ze wellicht niet de juiste visuele weergave zijn voor jouw situatie:
-
Alleen voor relationele data: Het enige doel van ER-diagrammen is het tonen van relaties tussen entiteiten, dus ze zijn niet de juiste keuze voor het ontwerpen van niet-relationele databases.
-
Niet voor ongestructureerde data: Tenzij de data netjes is afgebakend in verschillende velden, rijen of kolommen, zijn ER-diagrammen waarschijnlijk van beperkt nut. Hetzelfde geldt voor semi-gestructureerde data, omdat slechts een deel van de data bruikbaar zal zijn.
-
Moeilijk te integreren met een bestaande database: Het gebruik van ER-modellen om te integreren met een bestaande database kan een uitdaging zijn vanwege de verschillende architecturen.
Als je primaire persistentielaag niet-relationeel is, heb je mogelijk een andere modelleringsaanpak nodig dan een klassiek ERD.
Hoe je een basis-ER-diagram maakt
-
Doel en reikwijdte: Definieer het doel en de reikwijdte van wat je analyseert of modelleert.
-
Entiteiten: Identificeer de betrokken entiteiten. Als je er klaar voor bent, begin dan met het tekenen ervan in rechthoeken (of de vormkeuze van je systeem) en label ze als zelfstandige naamwoorden.
-
Relaties: Bepaal hoe de entiteiten allemaal met elkaar verbonden zijn. Trek lijnen tussen hen om de relaties aan te geven en label ze. Sommige entiteiten zijn mogelijk niet gerelateerd, en dat is prima. In verschillende notatiesystemen kan de relatie worden gelabeld in een ruit, een rechthoek of direct bovenop de verbindingslijn.
-
Attributen: Voeg meer detail toe door belangrijke attributen van entiteiten toe te voegen. Attributen worden vaak als ovalen weergegeven.
-
Kardinaliteit: Geef aan of de relatie een-op-een, een-op-veel of veel-op-veel is.
Als je een groot systeem in kaart brengt, overweeg dan om het werk opopsplitsen in meerdere diagrammen (bijvoorbeeld één conceptueel overzicht plus één of meer fysieke modellen) om elke visual leesbaar te houden.
Hoe je een ER-diagram maakt in Lucidchart
-
Open een nieuw Lucidchart-document
Maak je diagram helemaal zelf of bespaar tijd door te beginnen met een van de vooraf gemaakte ER-diagramsjablonen van Lucidchart. Het belangrijkste is om het detailniveau te tonen dat nodig is voor je doel. Je kunt een conceptueel, logisch of fysiek model tekenen, afhankelijk van het benodigde detail.
-
Schakel ERD-vormbibliotheken in
Klik aan de linkerkant van de editor op Meer vormen en zorg ervoor dat het selectievakje Entity Relationship is ingeschakeld in de lijst met vormbibliotheken.
-
Sleep vormen en zet ze neer
Begin met het toevoegen van vormen aan het canvas om al je entiteiten en relaties te vertegenwoordigen door op de gewenste vorm te klikken en deze neer te zetten waar je maar wilt. Zorg ervoor dat al je entiteiten en relaties zijn gelabeld en dat je diagram alle gegevens ondersteunt die je moet opslaan.
-
Verbind vormen
Klik op een vorm en sleep vervolgens een lijn uit een van de cirkels die verschijnen om deze met een andere vorm te verbinden, zodat je de relatie tussen entiteiten kunt tonen. Let op redundante entiteiten of relaties. En als je een databaseprobleem oplost, let dan op hiaten in relaties of ontbrekende entiteiten of attributen.
-
Deel je ER-diagram
Omdat ERD's visueel en gestandaardiseerd zijn, kunnen ze ook dienen als een samenwerkingstool die teams samen bekijken en verfijnen. Je kunt je netwerkdiagram eenvoudig met anderen delen via e-mail, Slack of een deelbare link. Klik rechtsboven in het scherm op Delen en er verschijnt een pop-up. Kies hoe je je diagram wilt delen en stel het juiste machtigingsniveau in.

Alles wat je nodig hebt om een diagram te maken
Maak gratis een strak, professioneel diagram met Lucidchart. Wat je ook in gedachten hebt, wij hebben de tools die je nodig hebt om het te bouwen. Maak een account aan en begin vandaag nog met diagrammen maken.
Gratis aanmelden