Hvad er ER-modellering? Lær med eksempel

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.

An Enhed er en ting eller et objekt i den virkelige verden, der kan skelnes fra det omgivende miljø. For eksempel er hver medarbejder i en organisation en separat enhed. Følgende er nogle af de vigtigste karakteristika ved enheder.

  • En enhed har et sæt egenskaber.
  • Enhedsejendomme kan have værdier.

Lad os overveje vores første eksempel igen. En medarbejder i en organisation er en enhed. Hvis "Peter" er en programmør (en medarbejder) ved Microsoft, han kan have attributter (egenskaber) som navn, alder, vægt, højde osv. Det er indlysende, at disse har værdier, der er relevante for ham.

Hver egenskab kan have Værdier. I de fleste tilfælde har en enkelt attribut én værdi. Men det er muligt for attributter har flere værdier også. For eksempel har Peters alder en enkelt værdi. Men hans egenskab med "telefonnumre" kan have flere værdier.

Enheder kan have relationer med hinanden. Lad os overveje det enkleste eksempel. Antag, at hver Microsoft Programmer får en computer. Det er klart, at det Peters computer er også en enhed. Peter bruger den computer, og den samme computer bruges af Peter. Der er med andre ord et gensidigt forhold mellem Peter og hans computer.

In Entity Relationship Modeling, vi modellerer enheder, deres egenskaber og relationer mellem enheder.

Enhanced Entity Relationship (EER) model

Enhanced Entity Relationship (EER) Model er en datamodel på højt niveau, som giver udvidelser til originalen Entitetsforhold(ER) model. EER-modeller understøtter design af flere detaljer. EER-modellering opstod som en løsning til modellering af meget komplekse databaser.

EER bruger UML-notation. UML er forkortelsen 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.


Enhanced Entity Relationship (EER)

Hvorfor bruge 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 (tekniske såvel som 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å brugernes produktivitet, da de nemt kan oversættes til relationelle tabeller.

Casestudie: ER-diagram for "MyFlix" videobibliotek

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 al hand-on i resten af ​​denne øvelse

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å trinene til at udvikle EER-diagram til denne database-

  1. Identificer entiteterne og bestem de relationer, der eksisterer mellem dem.
  2. Hver enhed, egenskab og relation bør have passende navne, som også let kan forstås af de ikke-tekniske personer.
  3. Relationer bør ikke være forbundet direkte med hinanden. Relationer skal forbinde enheder.
  4. 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 vil opbevare oplysninger om film
  • Kategorier – denne enhed vil opbevare oplysninger, der placerer film i forskellige kategorier såsom "Drama", "Action" og "Epic" osv.
  • Filmudlejning – denne enhed vil opbevare oplysninger om film, der er udlejet til medlemmer.
  • Betalinger – denne enhed vil opbevare oplysninger om betalinger foretaget af medlemmer.

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.

Fra ovenstående scenarie kan vi se, at karakteren af ​​forholdet er mange-til-mange. Relationelle databaser understøtter ikke mange-til-mange-relationer. Vi er nødt til at indføre en forbindelsesenhed. Dette er den rolle, som MovieRentals-enheden spiller. Det har et en-til-mange-forhold til medlemstabellen og et andet en-til-mange-forhold til filmtabellen.

Film og kategorienheder

Det følgende gælder om film og kategorier.

  • En film kan kun tilhøre én kategori, men en kategori kan have mere end én film.

Vi kan udlede af dette, at karakteren af ​​forholdet mellem kategorier og filmtabeller er en-til-mange.

Medlemmer og betalingsenheder

Følgende gælder om medlemmer og betalinger

  • Et medlem kan kun have én konto, men kan foretage et antal betalinger.

Vi kan udlede heraf, at karakteren af ​​forholdet mellem medlemmer og betalingsenheder er én-til-mange.

Lad os nu oprette EER-model ved hjælp af MySQL Workbench

I MySQL workbench , Klik på – “+” knappen

Definition af forholdet mellem enheder

Double klik på knappen Tilføj diagram for at åbne arbejdsområdet for ER-diagrammer.

Definition af forholdet mellem enheder

Følgende vindue vises

Definition af forholdet mellem enheder

Lad os se på de to objekter, som vi vil arbejde med.

  • Definition af forholdet mellem enhederTabelobjektet giver os mulighed for at oprette entiteter og definere de attributter, der er knyttet til den bestemte enhed.
  • Definition af forholdet mellem enhederPladsrelationsknappen giver os mulighed for at definere relationer mellem entiteter.

medlemmer' enhed 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 ved navn tabel 1 vises

3.Double klik på den. Egenskabsvinduet vist nedenfor vises

Definition af forholdet mellem enheder

Næste ,

  1. Skift tabel 1 til Medlemmer
  2. Rediger standard idtable1 til membership_number
  3. Klik på næste linje for at tilføje det næste felt
  4. Gør det samme for alle de attributter, der er identificeret i medlemmernes enhed.

Dit egenskabsvindue skulle nu se sådan ud.

Definition af forholdet mellem enheder

Gentag ovenstående trin for alle de identificerede enheder.

Dit diagramarbejdsområde skulle nu se ud som det, der er vist nedenfor.

Definition af forholdet mellem enheder

Lad os skabe forhold mellem medlemmer og filmudlejninger

  1. Vælg også stedrelationen ved hjælp af eksisterende kolonner
  2. Klik på medlemsnummer i tabellen Medlemmer
  3. Klik på referencenummer i MovieRentals-tabellen

Definition af forholdet mellem enheder

Gentag ovenstående trin for andre forhold. Dit ER-diagram skulle nu se sådan ud -

Resumé

  • Den fulde form for ER er enheds- og relationsdiagrammer. De spiller en meget vigtig rolle i database design behandle. De fungerer som et ikke-teknisk kommunikationsværktøj for tekniske og ikke-tekniske mennesker.
  • Enheder repræsenterer ting fra den virkelige verden; de kan være konceptuelle som en salgsordre eller fysiske såsom en kunde.
  • Alle enheder skal have unikke navne.
  • ER-modeller giver også databasedesignerne mulighed for at identificere og definere de relationer, der eksisterer mellem enheder.

Hele ER-modellen er vedhæftet nedenfor. Du kan blot importere den ind MySQL Workbench

Klik her for at downloade ER-model