Vad är ER-modellering? Lär dig med exempel
⚡ Smart sammanfattning
Entitetsrelationsmodellering är en grafisk metod för databasdesign som representerar verkliga objekt som entiteter, beskriver dem med attribut och fångar hur de ansluter genom relationer, vilket skapar en tydlig ritning innan några tabeller skapas.
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.
En entitet är en sak eller ett objekt i den verkliga världen som kan särskiljas från sin omgivande miljö. Till exempel är varje anställd i en organisation en separat entitet. Följande är några av de viktigaste egenskaperna hos entiteter.
- En enhet har en uppsättning egenskaper.
- Entitetsegenskaper kan ha värden.
Låt oss titta på vårt första exempel igen. En anställd i en organisation är en enhet. Om "Peter" är en programmerare (en anställd) på Microsoft, han kan ha attribut (egenskaper) som namn, ålder, vikt, längd etc. Det är uppenbart att dessa 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 att också ha flera värden. Till exempel har Peters ålder ett enda värde. Men hans egenskap "telefonnummer" kan ha flera värden.
Entiteter kan ha relationer med varandra. Låt oss betrakta det enklaste exemplet. Anta att varje Microsoft Programmeraren får en dator. Det är tydligt att Peters dator också är en entitet. Peter använder den datorn, och samma dator används av Peter. Med andra ord finns det en ömsesidig relation mellan Peter och hans dator.
I modellering av entitetsrelationer modellerar vi entiteter, deras attribut och relationerna mellan entiteter.
Varför använda en ER-modell?
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 alla intressenter (både tekniska och icke-tekniska användare) förstår är avgörande för att skapa 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.
Enhanced Entity Relationship (EER)-modell
EER-modellen (Enhanced Entity Relationship) är en datamodell på hög nivå som erbjuder utökningar till den ursprungliga ER-modellen (Entity Relationship). EER-modeller stöder mer detaljerad design. EER-modellering framkom som en lösning för modellering av 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.
Fallstudie: ER-diagram för videobiblioteket ”MyFlix”
Nu ska vi arbeta med databasystemet MyFlix Video Library för att förstå konceptet med ER-diagram. Vi kommer att använda den här databasen för allt praktiskt arbete i den här handledningen.
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 ett EER-diagram för den här databasen:
- Identifiera enheterna och bestäm de relationer som finns mellan dem.
- Varje entitet, attribut och relation bör ha lämpliga namn som även är lätta att förstå av icke-tekniska personer.
- Relationer ska inte kopplas direkt till varandra. Relationer bör koppla samman enheter.
- Varje attribut i en given enhet bör ha ett unikt namn.
Enheter i "MyFlix"-biblioteket
De enheter som ska ingå i vår ER-diagram är:
- Medlemmar – denna enhet kommer att lagra medlemsinformation.
- Filmer – den här enheten kommer att innehålla information om filmer.
- Kategorier – den här enheten innehåller information som placerar filmer i olika kategorier som "Drama", "Action" och "Episk", etc.
- Filmuthyrning – den här enheten kommer att lagra information om filmer som hyrts ut till medlemmar.
- Betalningar – denna enhet kommer att lagra information om de betalningar som gjorts 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.
Av ovanstående scenario kan vi se att relationens natur är många-till-många. Relationsdatabaser stöder inte många-till-många-relationer. Vi behöver introducera en knutpunktsentitet. Det är den roll som MovieRentals-entiteten spelar. Den har en en-till-många-relation med tabellen Members och en annan en-till-många-relation med tabellen Movies.
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.
Vi kan härleda från detta att relationen mellan kategorierna och filmerna är ett-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.
Vi kan härleda från detta att relationen mellan medlemmarna och betalningsenheterna är en-till-många.
Skapa EER-modellen med hjälp av MySQL Arbetsbänk
In MySQL Arbetsbänk, klicka på knappen “+”.
Double Klicka på knappen Lägg till diagram för att öppna arbetsytan för ER-diagram.
Följande fönster visas.
Låt oss titta på de två objekten som vi kommer att arbeta med.
- Tabellobjektet
låter oss skapa entiteter och definiera de attribut som är associerade med den specifika entiteten.
- Platsförhållandet
knappen låter oss definiera relationer mellan entiteter.
Medlemsenheten kommer att ha följande attribut
- Medlemsnummer
- Fullständiga namn
- Kön
- Födelsedatum
- Fysisk adress
- postadress
Nu ska vi skapa tabellen Medlemmar.
1. Dra tabellobjektet från verktygspanelen.
2. Släpp den i arbetsytan. En entitet med namnet tabell 1 visas.
3. Double klicka på den. Egenskapsfönstret som visas nedan visas.
Härnäst
- Ändra tabell 1 till Medlemmar.
- Redigera standardvärdet idtable1 till membership_number.
- Klicka på nästa rad för att lägga till nästa fält.
- Gör samma sak för alla attribut som identifieras i entiteten Medlemmar.
Ditt egenskapsfönster ska nu se ut så här.
Upprepa stegen ovan för alla identifierade enheter.
Din diagramarbetsyta bör nu se ut som den som visas nedan.
Låt oss skapa en relation mellan medlemmar och filmuthyrare
- Välj platsrelationen med hjälp av verktyget för befintliga kolumner.
- Klicka på medlemsnummer i tabellen Medlemmar.
- Klicka på referensnummer i tabellen MovieRentals.
Upprepa stegen ovan för andra relationer. Ditt ER-diagram ska nu se ut så här –










