Wat is ER-modellering? Leer met voorbeeld
Wat is ER-modellering?
Entiteitsrelatiemodel (ER Modeling) is een grafische benadering van databaseontwerp. Het is een datamodel op hoog niveau dat data-elementen en hun relatie voor een specifiek softwaresysteem definieert. Een ER-model wordt gebruikt om objecten uit de echte wereld weer te geven.
An Geheel is een ding of object in de echte wereld dat te onderscheiden is van de omgeving. Bijvoorbeeld, elke werknemer van een organisatie is een aparte entiteit. Hieronder volgen enkele belangrijke kenmerken van entiteiten.
- Een entiteit heeft een reeks eigenschappen.
- Entiteitseigenschappen kunnen waarden hebben.
Laten we ons eerste voorbeeld nog eens bekijken. Een medewerker van een organisatie is een entiteit. Als “Peter” een programmeur is (an werknemer) en Microsoft, hij kan hebben attributen (eigenschappen) zoals naam, leeftijd, gewicht, lengte, enz. Het is duidelijk dat deze waarden bevatten die voor hem relevant zijn.
Elk attribuut kan hebben Values. In de meeste gevallen heeft een enkel attribuut één waarde. Maar het is mogelijk dat er attributen zijn meerdere waarden ook. Bijvoorbeeld, Peters leeftijd heeft één waarde. Maar zijn "telefoonnummers"-eigenschap kan meerdere waarden hebben.
Entiteiten kunnen hebben relaties met elkaar. Laten we het eenvoudigste voorbeeld bekijken. Neem aan dat elk Microsoft Programmeur krijgt een computer. Het is duidelijk dat dat Peter's computer is ook een entiteit. Peter gebruikt die computer, en dezelfde computer wordt door Peter gebruikt. Er is met andere woorden een onderlinge relatie tussen Peter en zijn computer.
In Modellering van entiteitsrelaties, we modelleren entiteiten, hun attributen en relaties tussen entiteiten.
Verbeterd entiteitsrelatiemodel (EER).
Enhanced Entity Relationship (EER) Model is een datamodel op hoog niveau dat uitbreidingen biedt op het origineel Entiteit relatie(ER) model. EER-modellen ondersteunen meer gedetailleerd ontwerp. EER-modellering is ontstaan als een oplossing voor het modelleren van zeer complexe databases.
EER maakt gebruik van UML-notatie. UML is de afkorting voor Uniforme modelleringstaal; het is een modelleringstaal voor algemene doeleinden die wordt gebruikt bij het ontwerpen van objectgeoriënteerde systemen. Entiteiten worden weergegeven als klassendiagrammen. Relaties worden weergegeven als associaties tussen entiteiten. Het onderstaande diagram illustreert een ER-diagram met behulp van de UML-notatie.
Waarom het ER-model gebruiken?
Nu denk je misschien: waarom zouden we ER-modellering gebruiken als het eenvoudigweg kan? maak de database aan en al zijn objecten zonder ER-modellering? Een van de uitdagingen bij het ontwerpen van een database is het feit dat ontwerpers, ontwikkelaars en eindgebruikers de neiging hebben om gegevens en het gebruik ervan anders te bekijken. Als deze situatie niet wordt gecontroleerd, kunnen we uiteindelijk een databasesysteem produceren dat niet voldoet aan de eisen van de gebruikers.
Communicatiemiddelen die door alle belanghebbenden (zowel technische als niet-technische gebruikers) worden begrepen, zijn van cruciaal belang bij het produceren van databasesystemen die voldoen aan de eisen van de gebruikers. ER-modellen zijn voorbeelden van dergelijke tools.
ER-diagrammen verhogen ook de productiviteit van gebruikers, omdat ze eenvoudig kunnen worden vertaald in relationele tabellen.
Casestudy: ER-diagram voor videotheek “MyFlix”.
Laten we nu werken met het databasesysteem MyFlix Video Library om het concept van ER-diagrammen te helpen begrijpen. In de rest van deze tutorial zullen we deze database gebruiken voor alle praktische handelingen
MyFlix is een zakelijke entiteit die films verhuurt aan haar leden. MyFlix heeft zijn gegevens handmatig opgeslagen. Het management wil nu overstappen naar een dbms
Laten we eens kijken naar de stappen om het EER-diagram voor deze database te ontwikkelen-
- Identificeer de entiteiten en bepaal de relaties die ertussen bestaan.
- Elke entiteit, attribuut en relatie moet passende namen hebben die ook door niet-technische mensen gemakkelijk kunnen worden begrepen.
- Relaties mogen niet rechtstreeks met elkaar verbonden zijn. Relaties moeten entiteiten verbinden.
- Elk attribuut in een bepaalde entiteit moet een unieke naam hebben.
Entiteiten in de “MyFlix”-bibliotheek
De entiteiten die moeten worden opgenomen in onze ER-diagram zijn;
- Leden – deze entiteit bewaart ledeninformatie.
- Films – deze entiteit bewaart informatie over films
- Categorieën – deze entiteit bevat informatie die films in verschillende categorieën plaatst, zoals “Drama”, “Actie” en “Epic” enz.
- Film verhuur – deze entiteit zal informatie bewaren over films die aan leden zijn verhuurd.
- Betalingen – deze entiteit bewaart informatie over de betalingen van leden.
De relaties tussen entiteiten definiëren
Leden en films
Het volgende geldt voor de interacties tussen de twee entiteiten.
- Een lid kan in een bepaalde periode meer dan één film huren.
- Een film kan in een bepaalde periode door meer dan één lid worden gehuurd.
Uit het bovenstaande scenario kunnen we zien dat de aard van de relatie veel-op-veel is. Relationele databases ondersteunen geen veel-op-veel-relaties. We moeten een knooppuntentiteit introduceren. Dit is de rol die de entiteit MovieRentals speelt. Het heeft een één-op-veel-relatie met de ledentabel en een andere één-op-veel-relatie met de filmtabel.
Films en categorieënentiteiten
Het volgende geldt voor films en categorieën.
- Een film kan slechts tot één categorie behoren, maar een categorie kan meer dan één film bevatten.
Hieruit kunnen we afleiden dat de aard van de relatie tussen de categorieën en de filmtabel één-op-veel is.
Leden en betalingsentiteiten
Het volgende geldt voor leden en betalingen
- Een lid kan slechts één account hebben, maar kan wel een aantal betalingen doen.
Hieruit kunnen we afleiden dat de aard van de relatie tussen leden en betaalentiteiten één-op-veel is.
Laten we nu een EER-model maken met behulp van MySQL Werkbank
In het MySQL werkbank, klik op de knop “+”.
Double klik op de knop Diagram toevoegen om de werkruimte voor ER-diagrammen te openen.
Het volgende venster verschijnt
Laten we eens kijken naar de twee objecten waarmee we gaan werken.
- Met het tabelobject kunnen we entiteiten maken en de attributen definiëren die aan de specifieke entiteit zijn gekoppeld.
- Met de knop Plaatsrelatie kunnen we relaties tussen entiteiten definiëren.
De leden entiteit zal de volgende kenmerken hebben
- Lidmaatschapsnummer
- Volledige namen
- Geslacht
- Geboortedatum
- Fysiek adres
- postadres
Laten we nu de ledentabel maken
1.Sleep het tabelobject vanuit het gereedschapspaneel
2. Zet het neer in de werkruimte. Er verschijnt een entiteit met de naam tabel 1
3.Double Klik erop. Het onderstaande eigenschappenvenster verschijnt
Volgende ,
- Wijzig tabel 1 in Leden
- Bewerk de standaard idtable1 naar lidmaatschapsnummer
- Klik op de volgende regel om het volgende veld toe te voegen
- Doe hetzelfde voor alle kenmerken die in de ledenentiteit zijn geïdentificeerd.
Uw eigenschappenvenster zou er nu zo uit moeten zien.
Herhaal de bovenstaande stappen voor alle geïdentificeerde entiteiten.
Uw diagramwerkruimte zou er nu uit moeten zien zoals hieronder weergegeven.
Laten we een relatie creëren tussen leden en filmverhuur
- Selecteer de plaatsrelatie ook met behulp van bestaande kolommen
- Klik op lidmaatschapsnummer in de tabel Leden
- Klik op referentie_nummer in de MovieRentals tabel
Herhaal bovenstaande stappen voor andere relaties. Uw ER-diagram zou er nu als volgt uit moeten zien:
Samenvatting
- De volledige vorm van ER is Entiteits- en Relatiediagrammen. Zij spelen een zeer belangrijke rol in de database ontwerpen proces. Ze dienen als een niet-technisch communicatiemiddel voor technische en niet-technische mensen.
- Entiteiten vertegenwoordigen dingen uit de echte wereld; ze kunnen conceptueel zijn als een verkooporder of fysiek zoals een klant.
- Alle entiteiten moeten een unieke naam krijgen.
- Met ER-modellen kunnen databaseontwerpers ook de relaties tussen entiteiten identificeren en definiëren.
Het volledige ER-model is hieronder bijgevoegd. Je kunt het eenvoudig importeren MySQL Werkbank
Klik hier om het ER-model te downloaden