Databases - Enhanced Entity Relationship diagram¶
Wat is een EER?¶
Enhanced Entitiy-Relationship Diagrammen, afgekort EER diagrammen, zijn diagrammen die visualiseren welke entiteiten en relaties aanwezig zijn in een database systeem.
Entiteiten en attributen¶
Entiteiten zijn objecten of concepten binnen een database ontwerp. Deze objecten kunnen één of meerdere attributen hebben. Er is altijd één of meerdere attributen die een entiteit kan identificeren, zoals een HvA studentnummer of de username van je Discord profiel. Deze unieke attribuut noemen wij een primary key. Een primary key is altijd uniek. Andere attributen kan gebruikt worden om een entiteit te identificeren, maar hoeven niet uniek te zijn. Dit wordt een secondary key genoemd.
Wanneer een entiteit informatie krijgt, wordt er een instantie ervan gemaakt. Denk aan een soort tabel. De bovenste rij die alle attributen bevat, is de entiteit, en de rijen daaronder zijn dan verschillende instanties met informatie.
Relaties & Kardinaliteit¶
Wanneer een entiteit een bepaalde attribuut van een andere entiteit gebruikt, wordt het weergegeven door een relatie. Deze relaties laten ook zien hoeveel verschillende instanties van een entiteit gerelateerd kan zijn aan een enkele instantie van een andere entiteit. Dit hoeveelheid wordt gebeeld door een kardinaliteit.
Kardinaliteit¶
-
1:1
Een 1:1 relatie betekent dat bij elke instantie van entiteit A gerelateerd moet zijn met één instantie van entiteit B.
* 1:m
Een 1:m relatie betekent dat bij elke instantie van entiteit A gerelateerd moet zijn met één of meerdere instanties van entiteit B.
* n:1
Een n:1 relatie betekent dat bij elke instantie van entiteit A gerelateerd kan zijn met geen of één instantie van entiteit B.
* n:m
Een n:m relatie betekent dat bij elke instantie van entiteit A gerelateerd kan zijn met geen, één of meerdere instanties van entiteit B.
Relatie Identiteiten¶
Binnen een EER diagram kan je ook bepalen of een relatie identificerend is of non-identificerend. Wanneer je een relatie vastlegt tussen twee entiteiten, neemt één van de entiteiten de primaire sleutel over van de andere entiteit. Deze sleutel wordt dan een vreemde sleutel. Soms is deze vreemde sleutel niet belangrijk voor de entiteit, waardoor het null mag zijn. De relatie die je dan vastlegt wordt dan een non-identificerende relatie. Wanneer de vreemde sleutel wel belangrijk is en niet null mag zijn, leg je een identificerende relatie aan.
Voorbeeld 1: Een kind kan nooit bestaan zonder een ouder. Dit is dan een een identificerende relatie.
Voorbeeld 2: Een persoon kan één of meerdere nationaliteiten hebben, maar de persoon kan ook bestaan zonder een nationaliteit. Nationaliteit mag dan op de database null zijn. Dit is dan een non-identificerende relatie.
Op SQL Workbench¶
De identiteit wordt dan zo weergeven op SQL Workbench.
Identificerende Relatie
Non-Identificerende Relatie
Bronnen¶
W3schools - SQL
LinkedIn learning - Learning to use MySQL
Primary and foreign keys