Hvad er ER-modellering? Lær med eksempel
⚡ Smart opsummering
Entitetsrelationsmodellering er en grafisk tilgang til databasedesign, der repræsenterer virkelige objekter som enheder, beskriver dem med attributter og registrerer, hvordan de forbinder sig gennem relationer, hvilket producerer en klar plan, før der oprettes tabeller.

Hvad er ER-modellering?
Entitetsforholdsmodel (ER Modeling) er en grafisk tilgang til databasedesign. Det er en datamodel på højt niveau, der definerer dataelementer og deres forhold for et specificeret softwaresystem. En ER-model bruges til at repræsentere objekter i den virkelige verden.
En enhed er en ting eller et objekt i den virkelige verden, der kan skelnes fra dets omgivende miljø. For eksempel er hver medarbejder i en organisation en separat enhed. Følgende er nogle af de vigtigste karakteristika for enheder.
- En enhed har et sæt egenskaber.
- Enhedsejendomme kan have værdier.
Lad os gentage vores første eksempel. En medarbejder i en organisation er en enhed. Hvis "Peter" er en programmør (en medarbejder) hos Microsoft, han kan have attributter (egenskaber) som navn, alder, vægt, højde osv. Det er indlysende, at disse indeholder værdier, der er relevante for ham.
Hver attribut kan have værdier. I de fleste tilfælde har en enkelt attribut én værdi. Men det er muligt for attributter også at have flere værdier. For eksempel har Peters alder én værdi. Men hans egenskab "telefonnumre" kan have flere værdier.
Enheder kan have relationer med hinanden. Lad os betragte det enkleste eksempel. Antag, at hver Microsoft Programmøren får udleveret en computer. Det er tydeligt, at Peters computer også er en enhed. Peter bruger den computer, og den samme computer bruges af Peter. Med andre ord er der et gensidigt forhold mellem Peter og hans computer.
I entitetsrelationsmodellering modellerer vi enheder, deres attributter og relationerne mellem enheder.
Hvorfor bruge en ER-model?
Nu tænker du måske, hvorfor bruge ER-modellering, når vi simpelthen kan oprette databasen og alle dets objekter uden ER-modellering? En af de udfordringer, man står over for, når man designer en database, er det faktum, at designere, udviklere og slutbrugere har en tendens til at se data og deres brug anderledes. Hvis denne situation ikke er markeret, kan vi ende med at producere et databasesystem, der ikke opfylder brugernes krav.
Kommunikationsværktøjer, der forstås af alle interessenter (både tekniske og ikke-tekniske brugere), er afgørende for at producere databasesystemer, der opfylder brugernes krav. ER-modeller er eksempler på sådanne værktøjer.
ER-diagrammer øger også brugerproduktiviteten, da de nemt kan oversættes til relationelle tabeller.
Enhanced Entity Relationship (EER) model
Enhanced Entity Relationship (EER)-modellen er en datamodel på højt niveau, der giver udvidelser til den oprindelige Entity Relationship (ER)-model. EER-modeller understøtter mere detaljeret design. EER-modellering opstod som en løsning til modellering af meget komplekse databaser.
EER bruger UML-notation. UML er akronymet for Unified Modeling Language; det er et generel modelleringssprog, der bruges ved design af objektorienterede systemer. Enheder er repræsenteret som klassediagrammer. Relationer er repræsenteret som associationer mellem enheder. Diagrammet vist nedenfor illustrerer et ER-diagram ved hjælp af UML notation.
Casestudie: ER-diagram for “MyFlix”-videobiblioteket
Lad os nu arbejde med MyFlix Video Library-databasesystemet for at hjælpe med at forstå konceptet med ER-diagrammer. Vi vil bruge denne database til alt praktisk arbejde i denne vejledning.
MyFlix er en forretningsenhed, der udlejer film til sine medlemmer. MyFlix har lagret sine optegnelser manuelt. Ledelsen ønsker nu at flytte til en DBMS.
Lad os se på trinnene til at udvikle et EER-diagram til denne database:
- Identificer entiteterne og bestem de relationer, der eksisterer mellem dem.
- Hver enhed, attribut og relation bør have passende navne, der også let kan forstås af ikke-tekniske personer.
- Relationer bør ikke være forbundet direkte med hinanden. Relationer skal forbinde enheder.
- Hver attribut i en given enhed skal have et unikt navn.
Enheder i "MyFlix"-biblioteket
De enheder, der skal indgå i vores ER diagram er:
- Medlemmer – denne enhed vil opbevare medlemsoplysninger.
- Film – denne enhed indeholder oplysninger om film.
- Kategorier – denne enhed indeholder oplysninger, der placerer film i forskellige kategorier såsom "Drama", "Action" og "Episk" osv.
- Filmudlejning – denne enhed vil opbevare oplysninger om film, der er udlejet til medlemmer.
- Betalinger – denne enhed vil opbevare oplysninger om medlemmers betalinger.
Definition af forholdet mellem enheder
Medlemmer og film
Det følgende gælder med hensyn til interaktionerne mellem de to enheder.
- Et medlem kan leje mere end én film i en given periode.
- En film kan lejes af mere end ét medlem i en given periode.
Ud fra ovenstående scenarie kan vi se, at relationens natur er mange-til-mange. Relationelle databaser understøtter ikke mange-til-mange-relationer. Vi er nødt til at introducere en junction-enhed. Dette er den rolle, som MovieRentals-enheden spiller. Den har en en-til-mange-relation med tabellen Members og en anden en-til-mange-relation med tabellen Movies.
Film og kategorienheder
Det følgende gælder om film og kategorier.
- En film kan kun tilhøre én kategori, men en kategori kan indeholde mere end én film.
Vi kan udlede af dette, at relationen mellem kategori- og filmtabellerne er en-til-mange.
Medlemmer og betalingsenheder
Følgende gælder for medlemmer og betalinger.
- Et medlem kan kun have én konto, men kan foretage et antal betalinger.
Vi kan udlede af dette, at forholdet mellem medlemmerne og betalingsenheder er en-til-mange.
Opret EER-modellen ved hjælp af MySQL Workbench
In MySQL Workbench, klik på knappen “+”.
Double Klik på knappen Tilføj diagram for at åbne arbejdsområdet for ER-diagrammer.
Følgende vindue vises.
Lad os se på de to objekter, som vi vil arbejde med.
- Tabelobjektet
giver os mulighed for at oprette enheder og definere de attributter, der er knyttet til den specifikke enhed.
- Stedsforholdet
Knappen giver os mulighed for at definere relationer mellem enheder.
Medlemsenheden vil have følgende attributter
- Medlemsnummer
- Fuldstændige navne
- Køn
- Fødselsdato
- Fysisk adresse
- postadresse
Lad os nu oprette Medlemstabellen
1. Træk tabelobjektet fra værktøjspanelet.
2. Slip den i arbejdsområdet. En enhed med navnet tabel 1 vises.
3. Double Klik på den. Egenskabsvinduet vist nedenfor vises.
Dernæst
- Skift tabel 1 til Medlemmer.
- Rediger standardværdien idtable1 til medlemskabsnummer.
- Klik på den næste linje for at tilføje det næste felt.
- Gør det samme for alle de attributter, der er identificeret i Medlemmer-enheden.
Dit egenskabsvindue skulle nu se sådan ud.
Gentag ovenstående trin for alle de identificerede enheder.
Dit diagramarbejdsområde skulle nu se ud som det, der er vist nedenfor.
Lad os skabe et forhold mellem medlemmer og filmudlejning
- Vælg stedrelationen ved hjælp af værktøjet til eksisterende kolonner.
- Klik på medlemsnummer i tabellen Medlemmer.
- Klik på reference_number i tabellen MovieRentals.
Gentag ovenstående trin for andre relationer. Dit ER-diagram burde nu se sådan ud –









