Cursussen/Courses Codesnippets     Top 
Software Ontwikkeling - ER-model


1. Inleiding
Tool: MySQL Workbench (no install) versie 6.3.3:
MySQL Workbench
Een Entity-Relationship model (ER) of Enhanced Entity-Relationship model (EER) is zeer geschikt voor het ontwerpen van een database.
Het ER-model bestaat uit een schematische voorstelling van entiteiten, relaties en attributen.


2. Entiteiten bepalen
Een entiteit is een onderdeel in het project waarvan je gegevens wil bijhouden bv. een auto, een persoon, een computer, …
Een entiteit heeft een unieke naam (meestal in het enkelvoud). Er wordt duidelijk aangegeven wat er tot de entiteit behoort en wat niet.
Bij een entiteit hoort ook een lijst van attributen (die al dan niet in de kader van de entiteit worden weergegeven.
Een voorbeeld:


3. Attributen bepalen
Een attribuut is een eigenschap van een entiteit en eventueel van een relatie.
De namen van de attributen worden steeds genoteerd in 1 of meerdere woorden zonder spaties ertussen bv. voornaam, familienaam, straat, geboortedatum, …
Het attribuut wordt genoteerd bij de entiteit of relatie waartoe het behoort.
Er wordt ook aangegeven welke mogelijke waarden het attribuut kan aannemen m.a.w. tot welk domein behoort het attribuut.
Voor elk attribuut wordt kan ook het verplicht karakter aangegeven worden of niet (optioneel of niet).
Een voorbeeld:


4. Relaties aanduiden
Een relatie geeft een verband aan tussen twee of meer entiteiten.
Er wordt een naam en een beschrijving gekozen waarbij duidelijk het verband wordt beschreven.
Een relatie kan ook attributen hebben.
Een voorbeeld:


5. Cardinaliteit aanduiden
Er wordt aangeduid hoeveel elementen van een betrokken entiteittype er in relatie staan met 1 instantie van de andere entiteittypes.
Er zijn 3 mogelijkheden: een 1-op-1 (1:1) relatie, een 1-op-veel (1:n) relatie, een veel-op-veel relatie (m:n).
De cardinaliteit wordt aangeduid met een verticaal streepje (1) of een kraaiepootje (veel) op de lijn van de relatie.
Een voorbeeld:


6. Optionaliteit aanduiden
Met de optionaliteit van een relatie wordt aangegeven hoeveel elementen van een entiteittype er minimaal in relatie moeten staan met één instantie van de andere entiteittypes.
Als er minstens 1 element betrokken is wordt er op de relatielijn een verticaal streepje geplaatst anders wordt een nul (of een O) op de relatielijn gezet.
Een voorbeeld:


7. Een uitgewerkt voorbeeld
Een klant kan 1 of meerdere orders plaatsen maar is daartoe niet verplicht.
Een order wordt geplaatst door 1 klant en er moet 1 klant aanwezig zijn.
Een verkoper kan 1 of meerdere orders plaatsen maar is daartoe niet verplicht.
Een order wordt geplaatst door 1 verkoper en er moet 1 verkoper aanwezig zijn.
Een product kan tot 1 of meerdere orders behoren maar moet niet tot een order behoren.
Een order moet minstens 1 of meer producten bevatten.