Hva er ER-modellering? Lær med eksempel
⚡ Smart oppsummering
Enhetsrelasjonsmodellering er en grafisk tilnærming til databasedesign som representerer virkelige objekter som enheter, beskriver dem med attributter og fanger opp hvordan de kobles sammen gjennom relasjoner, og produserer en tydelig blåkopi før noen tabeller bygges.

Hva er ER-modellering?
Enhetsrelasjonsmodell (ER Modeling) er en grafisk tilnærming til databasedesign. Det er en datamodell på høyt nivå som definerer dataelementer og deres forhold for et spesifisert programvaresystem. En ER-modell brukes til å representere virkelige objekter.
En enhet er en ting eller et objekt i den virkelige verden som kan skilles fra omgivelsene. For eksempel er hver ansatt i en organisasjon en separat enhet. Følgende er noen av de viktigste egenskapene til enheter.
- En enhet har et sett med egenskaper.
- Enhetsegenskaper kan ha verdier.
La oss se på vårt første eksempel igjen. En ansatt i en organisasjon er en enhet. Hvis «Peter» er en programmerer (en ansatt) hos Microsoft, han kan ha attributter (egenskaper) som navn, alder, vekt, høyde osv. Det er åpenbart at disse har verdier som er relevante for ham.
Hvert attributt kan ha verdier. I de fleste tilfeller har et enkelt attributt én verdi. Men det er mulig for attributter å ha flere verdier også. For eksempel har Peters alder én verdi. Men egenskapen hans «telefonnumre» kan ha flere verdier.
Enheter kan ha relasjoner med hverandre. La oss se på det enkleste eksemplet. Anta at hver Microsoft Programmereren får en datamaskin. Det er tydelig at Peters datamaskin også er en enhet. Peter bruker den datamaskinen, og den samme datamaskinen brukes av Peter. Med andre ord er det et gjensidig forhold mellom Peter og datamaskinen hans.
I modellering av enhetsrelasjoner modellerer vi enheter, deres attributter og forholdet mellom enheter.
Hvorfor bruke en ER-modell?
Nå tenker du kanskje hvorfor bruke ER-modellering når vi bare kan opprette databasen og alle dens objekter uten ER-modellering? En av utfordringene når man designer en database, er det faktum at designere, utviklere og sluttbrukere har en tendens til å se data og bruken av dem annerledes. Hvis denne situasjonen ikke er merket av, kan vi ende opp med å produsere et databasesystem som ikke oppfyller kravene til brukerne.
Kommunikasjonsverktøy som alle interessenter (både tekniske og ikke-tekniske brukere) forstår, er avgjørende for å produsere databasesystemer som oppfyller brukernes krav. ER-modeller er eksempler på slike verktøy.
ER-diagrammer øker også brukerproduktiviteten, ettersom de enkelt kan oversettes til relasjonstabeller.
Enhanced Entity Relationship (EER) modell
Enhanced Entity Relationship (EER)-modellen er en datamodell på høyt nivå som gir utvidelser til den opprinnelige Entity Relationship (ER)-modellen. EER-modeller støtter mer detaljert design. EER-modellering dukket opp som en løsning for modellering av svært komplekse databaser.
EER bruker UML-notasjon. UML er akronymet for Unified Modeling Language; det er et generell modelleringsspråk som brukes når man designer objektorienterte systemer. Entiteter er representert som klassediagrammer. Relasjoner er representert som assosiasjoner mellom enheter. Diagrammet vist nedenfor illustrerer et ER-diagram som bruker UML-notasjon.
Casestudie: ER-diagram for videobiblioteket «MyFlix»
La oss nå jobbe med databasesystemet MyFlix Video Library for å forstå konseptet med ER-diagrammer. Vi vil bruke denne databasen til alt praktisk arbeid i denne veiledningen.
MyFlix er en forretningsenhet som leier ut filmer til sine medlemmer. MyFlix har lagret sine poster manuelt. Ledelsen ønsker nå å flytte til et DBMS.
La oss se på trinnene for å utvikle et EER-diagram for denne databasen:
- Identifiser enhetene og bestem relasjonene som eksisterer mellom dem.
- Hver enhet, attributt og relasjon bør ha passende navn som også er lett å forstå av ikke-tekniske personer.
- Relasjoner skal ikke kobles direkte til hverandre. Relasjoner skal knytte sammen enheter.
- Hvert attributt i en gitt enhet skal ha et unikt navn.
Enheter i «MyFlix»-biblioteket
Enhetene som skal inkluderes i vår ER-diagram er:
- Medlemmer – denne enheten vil oppbevare medlemsinformasjon.
- Filmer – denne enheten vil inneholde informasjon om filmer.
- Kategorier – denne enheten inneholder informasjon som plasserer filmer i forskjellige kategorier som «Drama», «Action» og «Episk» osv.
- Filmutleie – denne enheten vil oppbevare informasjon om filmer som er leid ut til medlemmer.
- Betalinger – denne enheten vil oppbevare informasjon om betalinger gjort av medlemmer.
Definere forholdet mellom enheter
Medlemmer og filmer
Det følgende gjelder for samspillet mellom de to enhetene.
- Et medlem kan leie mer enn én film i en gitt periode.
- En film kan leies av mer enn ett medlem i en gitt periode.
Fra scenariet ovenfor kan vi se at forholdet er mange-til-mange. Relasjonsdatabaser støtter ikke mange-til-mange-relasjoner. Vi må introdusere en knutepunktsenhet. Dette er rollen MovieRentals-enheten spiller. Den har et én-til-mange-forhold med Members-tabellen og et annet én-til-mange-forhold med Movies-tabellen.
Filmer og kategorier enheter
Det følgende gjelder filmer og kategorier.
- En film kan bare tilhøre én kategori, men en kategori kan ha mer enn én film.
Vi kan utlede fra dette at forholdet mellom kategori- og filmtabellene er én-til-mange.
Medlemmer og betalingsenheter
Følgende gjelder for medlemmer og betalinger.
- Et medlem kan bare ha én konto, men kan foreta en rekke betalinger.
Vi kan utlede fra dette at forholdet mellom medlemmene og betalingsenhetene er én-til-mange.
Lag EER-modellen ved hjelp av MySQL Workbench
In MySQL Workbench, klikk på «+»-knappen.
Double Klikk på Legg til diagram-knappen for å åpne arbeidsområdet for ER-diagrammer.
Følgende vindu vises.
La oss se på de to objektene vi skal jobbe med.
- Tabellobjektet
lar oss opprette enheter og definere attributtene som er knyttet til den bestemte enheten. - Stedsforholdet
-knappen lar oss definere relasjoner mellom enheter.
Medlemsenheten vil ha følgende attributter
- Medlemsnummer
- Fulle navn
- Kjønn
- Fødselsdato
- Fysisk adresse
- postadresse
La oss nå opprette Medlemstabellen
1. Dra tabellobjektet fra verktøypanelet.
2. Slipp den i arbeidsområdet. En enhet kalt tabell 1 vises.
3. Double Klikk på den. Egenskapsvinduet som vises nedenfor vises.
Neste,
- Endre tabell 1 til Medlemmer.
- Rediger standardverdien idtable1 til medlemskapsnummer.
- Klikk på neste linje for å legge til neste felt.
- Gjør det samme for alle attributtene som er identifisert i Medlemmer-enheten.
Egenskapsvinduet ditt skal nå se slik ut.
Gjenta trinnene ovenfor for alle identifiserte enheter.
Diagramarbeidsområdet ditt skal nå se ut som det som vises nedenfor.
La oss skape et forhold mellom medlemmer og filmutleieselskaper
- Velg stedsrelasjonen ved hjelp av verktøyet for eksisterende kolonner.
- Klikk på medlemsnummer i Medlemmer-tabellen.
- Klikk på referansenummer i tabellen MovieRentals.
Gjenta trinnene ovenfor for andre relasjoner. ER-diagrammet ditt skal nå se slik ut –









