Entity-relationshipmodel

Een entiteit Persoon met de attributen Sofinummer, Voornaam en Achternaam. Het attribuut Sofinummer is primaire sleutel.
Een entiteit Persoon met de attributen Sofinummer, Voornaam en Achternaam. Het attribuut Sofinummer is primaire sleutel.
Een relatie WerktIn tussen de entiteiten Werknemer en Fabriek. De relatie heeft een attribuut Sinds om de datum aan te geven waarop het werkverband begon.
Een relatie WerktIn tussen de entiteiten Werknemer en Fabriek. De relatie heeft een attribuut Sinds om de datum aan te geven waarop het werkverband begon.

Het entity-relationship-model of entity-relationship diagram (ERD) is een datamodel of diagram voor het grafisch representeren van een conceptueel datamodel. Het is een visuele weergave van de entiteiten, relaties en beperkingen die gelden of aanwezig zijn in een bepaald ontwerp. Deze diagrammen worden gemaakt bij het ontwerpen van een informatiesysteem om inzicht te krijgen in de benodigde informatie en de verbanden tussen de gegevens.

Zo wordt het vaak gebruikt om een visuele weergave te maken van een relationeel model. Het gemaakte diagram kan vervolgens omgezet worden in een database. Het entity-relationship-model kan dus ook worden gezien als een methodologie voor het ontwerpen van een datamodel en database.

Inhoud

[bewerk] Entity-relationship diagrammen

Zie ook de afbeeldingen onderaan voor de weergave van de gebruikte voorbeelden in een ER diagram.

Een ER diagram bestaat uit de volgende onderdelen:

  • entiteiten: een entiteit kan worden gezien als een object, een concreet of abstract "iets" dat deel uitmaakt van het datamodel. Voorbeelden hiervan zijn: een auto, een werknemer, een lied of een gebied.
  • relaties: een relatie geeft het verband weer tussen twee of meer entiteiten, zoals "een werknemer werkt in een fabriek"; werkt in is hier de relatie tussen de entiteiten werknemer en fabriek.
  • attributen: een attribuut is een eigenschap van een entiteit of relatie. Zo heeft een werknemer (onder andere) een voornaam, een achternaam, een woonplaats en een sofinummer. Het attribuut dat wordt gebruikt als unieke aanduiding van de entiteit (de primaire sleutel), wordt onderstreept weergegeven.

Elk van deze zaken wordt weergegeven met een bepaald symbool. Een entiteit wordt met een rechthoek weergegeven, een relatie wordt weergegeven met een ruit (welke met lijnen verbonden is aan de betrokken entiteiten) en een attribuut wordt als een ovaal weergegeven.

Het is ook mogelijk om een relatie tussen een entiteit en zichzelf te hebben. Zo kan een persoon een relatie "getrouwd met" hebben met een andere persoon. Bij een lijn wordt dan aangegeven wie met wie getrouwd is.

In tegenstelling tot in een relationeel model kan in een ER diagram wel attributen voorkomen met meer dan 1 waarde; men kan een verzameling gebruiken. Zo kan een persoon een attribuut hebben met de namen van zijn of haar kinderen: {Naam 1, Naam 2, Naam 3}.

De lijnen tussen een relatie en één of meer entiteiten kunnen aangepast worden om de betrokkenheid van de entiteiten bij de relatie weer te geven. Een werknemer kan bijvoorbeeld werken in maximaal 1 fabriek en in een fabriek kunnen 1 of meer werknemers werken. Het kan ook wenselijk zijn om in het ER diagram weer te geven dat een entiteit bij een relatie betrokken moet zijn, bijvoorbeeld "een werknemer werkt in één of meerdere fabrieken". In feite betekent dit ook: er kunnen geen werknemers zijn die niet bij een fabriek werken. Wanneer dit ER diagram vervolgens gebruikt wordt bij het opzetten van een database betekent dit dat er geen werknemers in de database aanwezig kunnen zijn die niet bij een fabriek werken - iets wat tijdens de ontwerpfase al werd weergegeven in het model.

In het model kunnen de volgende type lijnen gebruikt worden om betrokkenheid aan te geven:

  • een normale lijn: de entiteit is 0 of meer keer betrokken bij de relatie
  • een normale lijn met pijl: de entiteit is 0 of 1 keer betrokken bij de relatie
  • een dikke lijn: de entiteit is 1 of meer keer betrokken bij de relatie
  • een dikke lijn met pijl: de entiteit is precies 1 keer betrokken bij de relatie

Een entiteit kan ook worden onderverdeeld in andere entiteiten. Aan een universiteit kan een persoon worden onderverdeeld in de entiteiten student en docent. Deze onderverdeling wordt een IsA hiërarchie genoemd (is a betekent is een; een persoon is een student; een persoon is een docent). In een ER diagram wordt dit aangegeven met een driehoek. Deze onderverdeling hoeft niet volledig te zijn; er kunnen nog andere personen zijn die een student of docent zijn (bijvoorbeeld administratief medewerkers, personeel, en dergelijke). Ook kan het zijn dat er overlap is tussen de onderverdeelde entiteiten; een persoon kan student en docent tegelijkertijd zijn. Deze zaken worden naast het symbool in het diagram aangeduid met de volgende (Engelstalige) termen:

  • covering: de onderverdeling is volledig ("elke persoon is of student of docent")
  • non-covering: tegenovergestelde van covering ("er kunnen nog andere personen zijn die geen student of docent zijn")
  • overlapping: er is overlap tussen de onderverdeelde entiteiten ("een persoon kan zowel student als docent zijn")
  • non-overlapping: tegenovergestelde van overlapping ("een persoon kan tot slechts één onderverdeling behoren")

[bewerk] Verschillen in notatie

De gebruikte notatie in ER diagrammen verschilt. Naast kleine verschillen in bijvoorbeeld het gebruik van het aantal lijnen om het geheel overzichtelijk te houden, worden ook verschillende notaties gebruikt bij de betrokkenheid van entiteiten bij relaties.

Een andere manier om de betrokkenheid van entiteiten bij een relatie weer te geven, is door gebruik te maken van de getallen zelf in plaats van een normale of dikke lijn met of zonder pijl (zie ook hierboven). De getallen geven een onder- en bovengrens van de betrokkenheid:

  • normale lijn: 0..* (dit weglaten kan ook)
  • normale lijn met pijl: 0..1
  • dikke lijn: 1..*
  • dikke lijn met pijl: 1..1 (of gewoon 1)

[bewerk] Meer afbeeldingen

[bewerk] Voetnoten en bronvermelding

  1. ^ Dit is afhankelijk van de keuzes die men maakt: als men een model maakt waar alleen auto's, treinen en bussen in voorkomen (fictief voorbeeld: in het model van een bedrijf dat onderdelen maakt voor alleen auto's, treinen en bussen), dan is het waarschijnlijk wenselijker dat deze onderverdeling covering is.

[bewerk] Bronnen, noten en/of referenties

Bronnen, noten en/of referenties:
  • Kifer, M., Bernstein, A., Lewis, Philip M., Database Systems - An Application-Oriented Approach tweede editie - ISBN 0321228383

[bewerk] Zie ook

 

wymiana linkami SEO Tools wymiana linkami wymiana linkami tanie kredyty gotówkowe kreatyna Plaza 3 star hotel Los Angeles krynica noclegi Sejm Tyk