Hva er ER-modellering? Lær med eksempel

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.

An Entity er en ting eller et objekt i den virkelige verden som kan skilles fra omgivelsene. For eksempel er hver ansatt i en organisasjon en egen enhet. Følgende er noen av de viktigste egenskapene til enheter.

  • En enhet har et sett med egenskaper.
  • Enhetsegenskaper kan ha verdier.

La oss vurdere vårt første eksempel igjen. En ansatt i en organisasjon er en enhet. Hvis "Peter" er en programmerer (en ansatt) Ved Microsoft, kan han ha attributter (egenskaper) som navn, alder, vekt, høyde osv. Det er åpenbart at de har verdier som er relevante for ham.

Hvert attributt kan ha Verdier. I de fleste tilfeller har enkeltattributter én verdi. Men det er mulig for attributter har flere verdier også. For eksempel har Peters alder en enkelt verdi. Men "telefonnumre"-egenskapen hans kan ha flere verdier.

Enheter kan ha relasjoner med hverandre. La oss vurdere det enkleste eksemplet. Anta at hver Microsoft Programmereren får en datamaskin. Det er klart at det Peters datamaskin er også en enhet. Peter bruker den datamaskinen, og den samme datamaskinen brukes av Peter. Det er med andre ord et gjensidig forhold mellom Peter og datamaskinen hans.

In Enhetsrelasjonsmodellering, vi modellerer enheter, deres egenskaper og relasjoner mellom enheter.

Enhanced Entity Relationship (EER) modell

Enhanced Entity Relationship (EER) Model er en datamodell på høyt nivå som gir utvidelser til originalen Entitetsforhold(ER) modell. EER-modeller støtter design med flere detaljer. EER-modellering dukket opp som en løsning for modellering av svært komplekse databaser.

EER bruker UML-notasjon. UML er forkortelsen 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.


Enhanced Entity Relationship (EER)

Hvorfor bruke ER-modellen?

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 forstått av alle interessenter (tekniske så vel som ikke-tekniske brukere) 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.

Kasusstudie: ER-diagram for "MyFlix" videobibliotek

La oss nå jobbe med MyFlix Video Library-databasesystemet for å hjelpe deg med å forstå konseptet med ER-diagrammer. Vi vil bruke denne databasen for all hand-on i resten av denne opplæringen

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 EER-diagram for denne databasen-

  1. Identifiser enhetene og bestem relasjonene som eksisterer mellom dem.
  2. Hver enhet, attributt og relasjon bør ha passende navn som også lett kan forstås av ikke-tekniske personer.
  3. Relasjoner skal ikke kobles direkte til hverandre. Relasjoner skal knytte sammen enheter.
  4. 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 holde medlemsinformasjon.
  • Filmer – denne enheten vil ha informasjon om filmer
  • Type kategori – denne enheten vil ha informasjon som plasserer filmer i forskjellige kategorier som "Drama", "Action" og "Epic" osv.
  • Filmutleie – denne enheten vil ha informasjon om filmer som leies ut til medlemmer.
  • Betaling – denne enheten vil ha informasjon om betalinger utført av medlemmene.

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å innføre en knutepunktsenhet. Dette er rollen som MovieRentals-enheten spiller. Den har en en-til-mange-relasjon med medlemstabellen og en annen en-til-mange-relasjon med filmtabellen.

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 av dette at forholdet mellom kategorier og filmtabell er en-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 av dette at forholdet mellom medlemmer og betalingsenheter er en-til-mange.

La oss nå lage EER-modellen ved å bruke MySQL Workbench

på MySQL arbeidsbenk , Klikk – “+”-knappen

Definere forholdet mellom enheter

Double klikk på Legg til diagram-knappen for å åpne arbeidsområdet for ER-diagrammer.

Definere forholdet mellom enheter

Følgende vindu vises

Definere forholdet mellom enheter

La oss se på de to objektene vi skal jobbe med.

  • Definere forholdet mellom enheterTabellobjektet lar oss lage entiteter og definere attributtene knyttet til den bestemte enheten.
  • Definere forholdet mellom enheterPlass-relasjonsknappen lar oss definere relasjoner mellom enheter.

De medlemmers enheten vil ha følgende attributter

  • Medlemsnummer
  • Fulle navn
  • Kjønn
  • Fødselsdato
  • Fysisk adresse
  • postadresse

La oss nå lage 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 vist nedenfor vises

Definere forholdet mellom enheter

Neste

  1. Endre tabell 1 til Medlemmer
  2. Rediger standard idtable1 til membership_number
  3. Klikk på neste linje for å legge til neste felt
  4. Gjør det samme for alle attributtene som er identifisert i medlemmenes enhet.

Egenskapsvinduet ditt skal nå se slik ut.

Definere forholdet mellom enheter

Gjenta trinnene ovenfor for alle identifiserte enheter.

Diagramarbeidsområdet ditt skal nå se ut som det som vises nedenfor.

Definere forholdet mellom enheter

La oss skape forhold mellom medlemmer og filmutleie

  1. Velg stedsrelasjonen ved å bruke eksisterende kolonner også
  2. Klikk på membership_number i Members-tabellen
  3. Klikk på referansenummer i MovieRentals-tabellen

Definere forholdet mellom enheter

Gjenta trinnene ovenfor for andre forhold. ER-diagrammet ditt skal nå se slik ut -

Oppsummering

  • Den fullstendige formen for ER er enhets- og relasjonsdiagrammer. De spiller en svært viktig rolle i database design behandle. De fungerer som et ikke-teknisk kommunikasjonsverktøy for tekniske og ikke-tekniske personer.
  • Entiteter representerer ting fra den virkelige verden; de kan være konseptuelle som en salgsordre eller fysiske som en kunde.
  • Alle enheter må gis unike navn.
  • ER-modeller lar også databasedesignerne identifisere og definere relasjonene som eksisterer mellom enheter.

Hele ER-modellen er vedlagt nedenfor. Du kan ganske enkelt importere den inn MySQL Workbench

Klikk her for å laste ned ER-modellen