Vad är ER-modellering? Lär dig med exempel

Vad är ER-modellering?

Entitetsrelationsmodell (ER Modeling) är ett grafiskt tillvägagångssätt för databasdesign. Det är en datamodell på hög nivå som definierar dataelement och deras relation för ett specificerat mjukvarusystem. En ER-modell används för att representera verkliga objekt.

An Entity är en sak eller ett föremål i den verkliga världen som kan skiljas från den omgivande miljön. Till exempel är varje anställd i en organisation en separat enhet. Följande är några av de viktigaste egenskaperna hos enheter.

  • En enhet har en uppsättning egenskaper.
  • Entitetsegenskaper kan ha värden.

Låt oss överväga vårt första exempel igen. En anställd i en organisation är en enhet. Om "Peter" är en programmerare (en anställd) vid Microsoft, han kan ha attribut (egenskaper) som namn, ålder, vikt, längd, etc. Det är uppenbart att de har värden som är relevanta för honom.

Varje attribut kan ha Värden. I de flesta fall har ett enda attribut ett värde. Men det är möjligt för attribut har flera värden också. Till exempel Peters ålder har ett enda värde. Men hans "telefonnummer"-egenskap kan ha flera värden.

Enheter kan ha förhållanden med varandra. Låt oss överväga det enklaste exemplet. Antag att var och en Microsoft Programmerare får en dator. Det är klart att det Peters dator är också en enhet. Peter använder den datorn, och samma dator används av Peter. Det finns med andra ord en ömsesidig relation mellan Peter och hans dator.

In Entity Relationship Modeling, vi modellerar enheter, deras attribut och relationer mellan enheter.

Enhanced Entity Relationship (EER)-modell

Enhanced Entity Relationship (EER) Model är en datamodell på hög nivå som ger tillägg till originalet Entitetsförhållande(ER) modell. EER-modeller stöder design med fler detaljer. EER-modellering uppstod som en lösning för att modellera mycket komplexa databaser.

EER använder UML-notation. UML är förkortningen för Unified Modeling Language; det är ett allmänt modelleringsspråk som används vid design av objektorienterade system. Entiteter representeras som klassdiagram. Relationer representeras som associationer mellan enheter. Diagrammet nedan illustrerar ett ER-diagram med hjälp av UML-notation.


Enhanced Entity Relationship (EER)

Varför använda ER-modellen?

Nu kanske du tänker varför använda ER-modellering när vi kan helt enkelt skapa databasen och alla dess objekt utan ER-modellering? En av utmaningarna när man designar en databas är det faktum att designers, utvecklare och slutanvändare tenderar att se data och dess användning på olika sätt. Om denna situation lämnas okontrollerad kan det sluta med att vi producerar ett databassystem som inte uppfyller användarnas krav.

Kommunikationsverktyg som förstås av alla intressenter (tekniska såväl som icke-tekniska användare) är avgörande för att producera databassystem som uppfyller användarnas krav. ER-modeller är exempel på sådana verktyg.

ER-diagram ökar också användarproduktiviteten eftersom de enkelt kan översättas till relationstabeller.

Fallstudie: ER-diagram för "MyFlix" videobibliotek

Låt oss nu arbeta med MyFlix Video Library-databassystemet för att hjälpa oss att förstå konceptet med ER-diagram. Vi kommer att använda denna databas för all hand-on i resten av denna handledning

MyFlix är en affärsenhet som hyr ut filmer till sina medlemmar. MyFlix har lagrat sina register manuellt. Ledningen vill nu flytta till ett DBMS

Låt oss titta på stegen för att utveckla EER-diagram för denna databas-

  1. Identifiera enheterna och bestäm de relationer som finns mellan dem.
  2. Varje enhet, attribut och relation bör ha lämpliga namn som också lätt kan förstås av icke-tekniska personer.
  3. Relationer ska inte kopplas direkt till varandra. Relationer bör koppla samman enheter.
  4. Varje attribut i en given enhet bör ha ett unikt namn.

Entiteter i "MyFlix"-biblioteket

De enheter som ska ingå i vår ER-diagram är;

  • Medlemmar – denna enhet kommer att hålla medlemsinformation.
  • Filmer – denna enhet kommer att ha information om filmer
  • Kategorier – denna enhet kommer att hålla information som placerar filmer i olika kategorier som "Drama", "Action" och "Epic" etc.
  • Filmuthyrning – denna enhet kommer att ha information om filmer som hyrs ut till medlemmar.
  • Betalningar – denna enhet kommer att ha information om betalningar som görs av medlemmar.

Definiera relationerna mellan enheter

Medlemmar och filmer

Följande gäller när det gäller interaktionerna mellan de två enheterna.

  • En medlem kan hyra mer än en film under en viss period.
  • En film kan hyras av mer än en medlem under en viss period.

Från ovanstående scenario kan vi se att förhållandet är många-till-många. Relationsdatabaser stöder inte många-till-många-relationer. Vi måste införa en knutpunktsenhet. Detta är rollen som MovieRentals-enheten spelar. Den har en en-till-många-relation med medlemstabellen och en annan en-till-många-relation med filmtabellen.

Filmer och kategorier

Följande gäller filmer och kategorier.

  • En film kan bara tillhöra en kategori men en kategori kan ha mer än en film.

Av detta kan vi dra slutsatsen att förhållandet mellan kategorier och filmtabeller är en-till-många.

Medlemmar och betalningsenheter

Följande gäller om medlemmar och betalningar

  • En medlem kan bara ha ett konto men kan göra ett antal betalningar.

Av detta kan vi dra slutsatsen att relationen mellan medlemmar och betalningsenheter är en till många.

Låt oss nu skapa EER-modell med hjälp av MySQL Arbetsbänk

I MySQL arbetsbänk, klicka på – “+”-knappen

Definiera relationerna mellan enheter

Double klicka på knappen Lägg till diagram för att öppna arbetsytan för ER-diagram.

Definiera relationerna mellan enheter

Följande fönster visas

Definiera relationerna mellan enheter

Låt oss titta på de två objekten som vi kommer att arbeta med.

  • Definiera relationerna mellan enheterTabellobjektet tillåter oss att skapa entiteter och definiera de attribut som är associerade med den specifika entiteten.
  • Definiera relationerna mellan enheterPlatsrelationsknappen låter oss definiera relationer mellan enheter.

Ocuco-landskapet medlemmars enheten kommer att ha följande attribut

  • Medlemsnummer
  • Fullständiga namn
  • Kön
  • Födelsedatum
  • Fysisk adress
  • postadress

Låt oss nu skapa medlemstabellen

1. Dra tabellobjektet från verktygspanelen

2.Släpp den i arbetsytan. En enhet med namnet tabell 1 visas

3.Double Klicka på det. Egenskapsfönstret som visas nedan visas

Definiera relationerna mellan enheter

Nästa ,

  1. Ändra tabell 1 till Medlemmar
  2. Redigera standard idtable1 till membership_number
  3. Klicka på nästa rad för att lägga till nästa fält
  4. Gör samma sak för alla attribut som identifieras i medlemmarnas enhet.

Ditt egenskapsfönster ska nu se ut så här.

Definiera relationerna mellan enheter

Upprepa stegen ovan för alla identifierade enheter.

Din diagramarbetsyta bör nu se ut som den som visas nedan.

Definiera relationerna mellan enheter

Låt oss skapa relation mellan medlemmar och filmuthyrning

  1. Välj platsrelationen med hjälp av befintliga kolumner
  2. Klicka på medlemsnummer i tabellen Medlemmar
  3. Klicka på referensnummer i tabellen MovieRentals

Definiera relationerna mellan enheter

Upprepa ovanstående steg för andra relationer. Ditt ER-diagram ska nu se ut så här -

Sammanfattning

  • Den fullständiga formen av ER är Entity and Relationships Diagrams. De spelar en mycket viktig roll i databasdesign bearbeta. De fungerar som ett icke-tekniskt kommunikationsverktyg för tekniska och icke-tekniska personer.
  • Entiteter representerar verkliga saker; de kan vara konceptuella som en försäljningsorder eller fysiska som en kund.
  • Alla enheter måste ges unika namn.
  • ER-modeller tillåter också databasdesigner att identifiera och definiera de relationer som finns mellan enheter.

Hela ER-modellen bifogas nedan. Du kan helt enkelt importera in den MySQL Arbetsbänk

Klicka här för att ladda ner ER-modell