Ett entitetsrelationsdiagram är en specialiserad grafik som illustrerar relationerna mellan enheter i en databas. ER-diagram använder symboler för att representera tre typer av information: enheter (eller begrepp), relationer och attribut.
Vad är entitetsrelationsdiagram?
I industristandardiserade ER-diagram representerar rektanglar eller kvadrater entiteter, som är tabeller som innehåller specifik information i en databas. Diamanter representerar relationer, som är interaktionerna mellan enheterna. Ovaler representerar attribut eller data som beskriver en enhet.
Även om entitetsrelationsdiagram kan se komplicerade ut, hjälper dessa diagram kunniga användare att förstå databasstrukturer på en hög nivå utan åtföljande detaljer. Databasdesigners använder ER-diagram för att modellera relationerna mellan databasenheter i ett tydligt format. Många programvarupaket har automatiserade metoder för att generera ER-diagram från befintliga databaser.
Entity-Relationship Diagram Exempel
Tänk på exemplet med en databas som innehåller information om invånarna i en stad. ER-diagrammet som visas i bilden nedan innehåller två enheter i rektanglar: "Person" och "Stad." En enda "Lives In"-relation i diamanten binder de två samman. Varje person bor bara i en stad, men varje stad kan hysa många människor. I exempeldiagrammet är attribut som visas i ovaler personens namn och stadens befolkning.
Substantiv används för att beskriva enheter och attribut medan verb används för att beskriva relationer.
Entiteter är objekt som spåras
Varje objekt som spåras i en databas är en entitet, och varje entitet är en tabell i en relationsdatabas. Vanligtvis motsvarar varje enhet i en databas en rad.
Om en databas innehåller namn på personer kan dess enhet kallas "Person". En tabell med samma namn skulle finnas i databasen, och varje person skulle tilldelas en rad i "Person"-tabellen.
Attribut Describe Entities
Databaser innehåller information om varje enhet. Denna information kallas attribut. Attribut består av information som är unik för varje listad enhet. I exemplet "Person" kan attribut inkludera förnamn, efternamn, födelsedatum och ett identifieringsnummer.
Attribut ger detaljerad information om en enhet. I en relationsdatabas hålls attribut i de fält där informationen i en post hålls. En databas är inte begränsad till ett specifikt antal attribut.
Relationer håller ihop data
Värdet av ett entitetsrelationsdiagram ligger i dess förmåga att visa information om relationerna mellan entiteter. I exemplet kan information om staden där varje person bor spåras. Information om staden i en "City"-enhet med en relation som binder samman "Person"- och "City"-information kan också spåras.
Det finns tre typer av relationer mellan enheter:
- One-to-One: Ibland associeras en enstaka enhet med en enskild annan enhet. Till exempel har varje anställd i en databas bara ett personnummer och numret är unikt.
- One-to-Many: En enskild enhet kan också vara relaterad till flera andra enheter. Till exempel har ett företags filialkontor och alla anställda som arbetar på den filialen en en-till-många-relation.
- Många-till-många: Flera enheter kan vara relaterade till flera andra enheter. Till exempel kan ett företag tillverka tre produkter och ha en säljare som säljer dessa produkter. En del av säljarna kan dela sin tid mellan produkterna.
Hur man skapar ett akutdiagram
Innan du designar en relationsdatabas är det vettigt att skapa ett ER-diagram. Du kan ha programvara som är utrustad för att hantera denna process. Om inte, sätt penna (eller penna) på papper eller hitta ett program som kan hantera kartläggningskraven.
Så här skapar du ett akutdiagram för hand:
- Skapa en rektangulär låda för varje entity eller koncept som är relevanta för din modell.
- Draw linjer för att ansluta relaterade enheter för att modellera relationships. Märk relationerna med verb inuti rombformer.
- Identifiera de relevanta attributen för varje enhet, börja med de viktigaste attributen, och ange dem i ovaler i diagrammet. Senare kan du göra attributlistorna mer detaljerade.
När du är klar har du illustrerat hur olika begrepp relaterar till varandra, och du har en konceptuell grund för utformningen av en relationsdatabas.