Uitgebreide entiteit-relatiediagrammen, of EERD's, zijn gespecialiseerde ER-diagrammen die zeer nuttig kunnen zijn voor het modelleren van je database. EERD's gebruiken verscheidene concepten die nauw verwant zijn aan objectgeoriënteerd ontwerp en programmeren. Ze bouwen voort op traditionele ER-modellering om zeer complexe systemen beter weer te geven.
Wat is een uitgebreid ER-diagram?
Uitgebreide entiteit-relatiemodellen zijn geavanceerde databasediagrammen die erg lijken op gewone ER-diagrammen. Uitgebreide ERD's zijn modellen op hoog niveau die de vereisten en complexiteit van complexe databases weergeven. In de praktijk bevat een EERD alles wat een ER-diagram ook bevat, maar stelt het je in staat om extra details vast te leggen wanneer een eenvoudig ERD te beperkend wordt.
Naast dezelfde concepten die gewone ER-diagrammen bevatten, bevatten EERD's ook:
-
Subtypen en supertypen (soms ook subklassen en superklassen genoemd)
-
Specialisatie en generalisatie
-
Categorie of unietype
-
Attribuut- en relatieovererving
Omdat EERD's ERD's uitbreiden in plaats van vervangen, helpt het om te onthouden wat ERD's gewoonlijk bevatten (entiteiten, attributen en relaties) en vervolgens EERD-eigenschappen te zien als de extra structuur die rijkere modellering ondersteunt.
Verbeterde ERD-definities en -voorbeelden
De definities van de onderstaande concepten zijn uniek voor uitgebreide entity relationship diagrammen en kunnen helpen verduidelijken hoe de modelleringsconcepten van EERD's verschillen van die van ERD's.
Ter herinnering, ER-diagrammen modelleren gewoonlijk elementen zoals entiteiten, attributen, relaties, zwakke entiteiten, meerwaardige attributen en zwakke relaties. EERD's voegen constructen toe zoals overervingshiërarchieën en categoriesubtypen om complexere vereisten weer te geven.
Supertypen en subtypen
-
Supertype (superklasse): een entiteitstype dat betrekking heeft op een of meer subtypen
-
Subtype (subklasse): een subgroep van entiteiten met unieke kenmerken
-
Attribuutovererving: het concept dat entiteiten van een subtype de waarden van alle attributen van het supertype overerven
Stel bijvoorbeeld dat je een personeelsdatabase hebt van een ziekenhuis. De bovenliggende entiteit (of het supertype) zou medisch personeel kunnen zijn, met attributen zoals personeelsnummer en de datum waarop ze in het ziekenhuis zijn gaan werken. De onderliggende entiteiten (subtypen) zouden artsen en verpleegkundigen kunnen zijn, die dezelfde attributen overerven. Deze ouder/kind-structuur is een klassiek voorbeeld van EERD-gebruik, omdat hij redundantie vermindert en het model in lijn houdt met de organisatie van de werkelijkheid.
Generalisatie en specialisatie
-
Generalisatie: het proces van het definiëren van een algemeen entiteitstype uit een verzameling gespecialiseerde entiteitstypen
-
Specialisatie: het tegenovergestelde van generalisatie, omdat het subtypen van het supertype definieert en de relatie tussen de twee bepaalt
In het bovenstaande voorbeeld is de ouderentiteit een gegeneraliseerde categorie, terwijl de kindentiteiten gespecialiseerde entiteiten zijn, of typen medisch personeel. Het creëren van deze overervingshiërarchie weerspiegelt de ware aard van de ziekenhuisgegevens, elimineert redundantie en maakt het databaseontwerp consistenter.
Beperkingen
-
Disjunctiebeperkingen: Je moet bepalen of een instantie van een supertype tegelijkertijd lid kan zijn van twee of meer subtypen. De disjunctieregel vereist dat subklassen disjuncte verzamelingen van entiteiten hebben. De overlapregel dwingt een subklasse (ook wel een instantie van een supertype genoemd) om overlappende verzamelingen van entiteiten te hebben.
-
Volledigheidsbeperkingen: Bepaal of een instantie van het supertype ook lid moet zijn van ten minste één subtype. De regel van totale specialisatie vereist dat elke entiteit in de superklasse tot een subklasse behoort. Net als in een regulier ERD wordt totale specialisatie aangegeven door een dubbele lijnverbinding tussen entiteiten. De regel van gedeeltelijke specialisatie staat toe dat een entiteit tot geen enkele subklasse behoort. Deze wordt weergegeven door een enkele lijnverbinding.
Subtypediscriminatoren
Een subtypediscriminator is een attribuut van het supertype dat het subtype van een entiteit aangeeft. De waarden van het attribuut bepalen het doelsubtype.
-
Disjuncte subtypen: eenvoudige attributen die alternatieve waarden moeten hebben om alle mogelijke subtypen aan te geven
-
Overlappende subtypen: samengestelde attributen waarvan de subdelen betrekking hebben op verschillende subtypen. Elk subdeel heeft een Booleaanse waarde die aangeeft of de instantie al dan niet tot het bijbehorende subtype behoort.
EERD's kunnen ook extra complexiteit vertegenwoordigen via categorieën (soms unietypen genoemd), waarmee je een entiteit kunt verdelen in subtypen op basis van specifieke attributen, wat diepere specialisatie ondersteunt wanneer één enkel overervingspad niet voldoende is.
Een effectief EERD creëren
Een goed ontworpen EERD zal je helpen om duurzame, bruikbare opslagsystemen te bouwen. Overweeg het volgende bij het evalueren van je entiteitsrelatiediagram om er zeker van te zijn dat je een systeemontwerp modelleert dat voldoet aan de eisen van je bedrijf:
-
Stabiliteit: Ondersteunt het diagram veranderende bedrijfsbehoeften?
-
Breedte: Kunnen alle gegevens die we moeten opslaan in het model worden georganiseerd?
-
Flexibiliteit: Kunnen gegevens in dit model worden gereorganiseerd om nieuwe informatiebehoeften te ondersteunen?
-
Efficiëntie: Is dit model de eenvoudigst mogelijke oplossing? Zijn de gegevens gemodelleerd met de juiste symbolen?
-
Toegankelijkheid: Kunnen zowel makers als eindgebruikers je EERD gemakkelijk begrijpen?
-
Conformiteit: Integreert het model gemakkelijk met je bestaande databasestructuur?
Het kan ook helpen om vooraf het juiste niveau van detaillering voor de modellering te kiezen: ERD's zijn vaak het beste voor eenvoudigere systemen of voor overzichten op hoog niveau, terwijl EERD's doorgaans beter zijn voor het vastleggen van ingewikkelde relaties, zoals overervingshiërarchieën, categorie-subtypen en relatieattributen, en voor het ondersteunen van een sterkere algehele gegevensintegriteit.
Beperkingen van ER- en EER-diagrammen
ER- en EER-diagrammen zijn alleen nuttig voor relationele, gestructureerde data. Als je werkt met een niet-relationele database of ongestructureerde data die niet is onderverdeeld in verschillende velden, rijen of kolommen, hebben deze modellen weinig nut – daar zijn ze simpelweg niet voor bedoeld.
Hoe Lucidchart kan helpen
Lucidchart is een krachtige, slimme diagramapplicatie die teams helpt complexe databasestructuren te visualiseren, ontwerpen en beheren. Door prioriteit te geven aan dynamische functies die je teams helpen op één lijn te blijven, kun je professionele ER- of EER-diagrammen maken.
Hier zijn wat tips om het maken van diagrammen te stroomlijnen:
-
Begin goed met sjablonen: Gebruik Lucid's bibliotheek met professionele sjablonen om snel een ERD of EERD te maken zonder vanaf nul te beginnen.
-
Automatisch ERD maken: Gebruik de ERD-importfunctie om automatisch diagrammen te genereren vanuit je bestaande database, en je huidige status te visualiseren zonder handmatig tekenen.
-
Gebruik gespecialiseerde vormbibliotheken: Gebruik speciale vormen voor ERD's en EERD's, inclusief standaard notaties voor entiteiten, attributen en relaties, om ervoor te zorgen dat technische documentatie gepolijst en accuraat blijft.
-
Identificeer complexe afhankelijkheden: Breng ingewikkelde relaties tussen componenten in kaart om mogelijke knelpunten in de ontwikkelingscyclus vroegtijdig te identificeren.
-
Leid gezamenlijke beoordelingen: Nodig teamleden uit om je document in realtime te bewerken. Gebruik @mention en opmerkingen om feedback direct op het canvas te geven, zodat je teamleden op één lijn zitten wat betreft je database-architectuur.
-
Onderhoud een enkele bron van waarheid: Sla je technische blauwdrukken op en beheer ze in een uniforme, cloud-gebaseerde werkruimte, zodat elke stakeholder toegang heeft tot de meest actuele documentatie.
Of je nu een database helemaal opnieuw ontwerpt of gewoon je bestaande database beter wilt begrijpen, een ER-diagram of EER-diagram kan een handig hulpmiddel zijn. Gebruik het om het grotere geheel te zien en laat Lucidchart het zware werk doen, zodat jij je kunt concentreren op het werk dat er voor jou echt toe doet.