Vad är ett entitetsrelationsdiagram (ERD)?

12 min

Entitetsrelationsdiagram visar relationen mellan olika entiteter i ett system. Dessa diagram är särskilt användbara för att ge en snabb överblick över vilken information som finns i ett system och hur den hänger ihop. De kan också hjälpa team att tänka igenom hur användare, programvara och databaser interagerar i verkliga scenarier.

Lär dig mer om entitetsrelationsdiagram, inklusive deras ursprung, användningsområden, exempel, komponenter och hur du ritar dem med vårt ER-diagramverktyg.

Vad är ett ER-diagram?

Ett entitetsrelationsdiagram (ER-diagram) är en typ av flödesschema som illustrerar hur entiteter som personer, objekt eller koncept relaterar till varandra inom ett system. ER-diagram används oftast för att designa eller felsöka relationsdatabaser inom programvaruteknik, affärsinformationssystem, utbildning och forskning. De kallas även ERD eller ER-modeller och använder en definierad uppsättning symboler som rektanglar, romber, ovaler och anslutningslinjer för att skildra sammankopplingen mellan entiteter, relationer och deras attribut. De speglar den grammatiska strukturen, med entiteter som substantiv och relationer som verb.

ER-diagram är relaterade till datastrukturdiagram (DSD), som fokuserar på relationer mellan element inom entiteter istället för relationer mellan själva entiteterna. ER-diagram används också i kombination med dataflödesdiagram (DFD), som kartlägger informationsflödet för processer eller system.

Historik över ER-modeller

Peter Chen, en datavetare och tillämpad matematiker, tillskrivs utvecklingen av ER-modellering för databasdesign på 1970-talet. Innan datavetenskapen existerade som ämne sträcker sig beskrivningen av tings sammankoppling tillbaka till antikens Grekland med verk av Aristoteles, Sokrates och Platon. Det kan även ses i nyare tid i 1800- och 1900-talsverk av filosof-logiker som Charles Sanders Peirce och Gottlob Frege.

Fram mot 1960- och 1970-talen utvecklade Charles Bachman och A.P.G. Brown föregångarna till Chens metod. Bachman utvecklade en typ av datastrukturdiagram som kallas Bachman-diagrammet. Brown publicerade verk om modellering av verkliga system. James Martin lade till förfiningar av ER-diagram. Chens, Bachmans, Browns, Martins och andras arbete bidrog också till utvecklingen av Unified Modeling Language (UML), som används i stor utsträckning inom programvarudesign.

Användningsområden för entitetsrelationsdiagram

Databasdesign

ER-diagram används för att modellera och designa relationsdatabaser. Den logiska datamodellen används för logik och affärsregler, och den fysiska datamodellen används för teknisk implementering. Inom programvaruteknik är ett ER-diagram ofta ett första steg för att fastställa kraven för ett informationssystemprojekt. Det används även senare för att modellera en eller flera specifika databaser. En relationsdatabas har en motsvarande relationstabell och kan vid behov uttryckas på det sättet.

ER-diagram används ofta i början av ett nytt databasprojekt för att skissera kraven och hjälpa teamet att bygga en modell som uttrycker informationsflödena mellan användaren, programvaran, databasen och andra entiteter. Eftersom de synliggör antaganden och beroenden i ett tidigt skede kan ER-diagram förbättra planering och beslutsfattande innan implementeringen påbörjas.

Vanliga fördelar i tidiga skeden inkluderar att upptäcka problem snabbare, eliminera förvirring kring komplex system och minska risker.

Felsökning av databaser

ER-diagram används för att analysera befintliga databaser för att hitta och lösa problem med logik eller implementering. Att rita diagrammet hjälper till att avslöja vad som blir fel.

Affärsininformationssystem

Diagrammen används för att designa eller analysera relationsdatabaser för affärsprocesser. Alla affärsprocesser som använder fältbaserad data som involverar entiteter, åtgärder och samspel kan potentiellt dra nytta av en relationsdatabas. Det kan effektivisera processer, göra det lättare att hitta information och förbättra resultaten.

Omstrukturering av affärsprocesser (BPR)

ER-diagram hjälper till vid analys av databaser som används vid omstrukturering av affärsprocesser samt vid modellering av en ny databasstruktur.

Utbildning

Databaser är dagens metod för att lagra relationsinformation för utbildningsändamål och senare återhämtning, så ER-diagram kan vara värdefulla vid planering av dessa datastrukturer.

Forskning

Eftersom så mycket forskning fokuserar på strukturerad data kan ER-diagram spela en avgörande roll i att sättp upp användbara databaser för att analysera datan.

Komponenter och funktioner i ett ER-diagram

ER-diagram består av entiteter, relationer och attribut. De visar också kardinalitet, vilket definierar relationer i form av siffror. Här är en ordlista:

Entitet

En entitet är någon form av dataobjekt. Dessa objekt kan vara datorer, skrivare, anställda, kunder, platser, händelser, koncept och så vidare.

Entitetstyp: En entitetstyp är en grupp av definierbara ting, såsom kunder eller produkter, medan entiteten skulle vara den specifika kunden eller produkten.

Entitetsmängd: En entitetsmängd är detsamma som en entitetstyp, men definieras vid en specifik tidpunkt, såsom kunder som handlade förra månaden. En relaterad term är instans, där en specifik kund skulle vara en instans av entitetsmängden.

Entitetskategorier: Entitetskategorier inkluderar starka, svaga och associativa entiteter. En stark entitet kan definieras enbart utifrån sina egna attribut, medan en svag entitet inte kan det. En associativ entitet kopplar samman entiteter (or element) inom en entitetsmängd.

Entitetsnycklar: En entitetsnyckel är ett attribut som unikt definierar en entitet i en entitetsmängd. Entitetsnycklar kan vara supernycklar, kandidatnycklar eller primärnycklar. En supernyckel är en uppsättning attribut (ett eller flera) som tillsammans definierar en entitet i en entitetsmängd. En kandidatnyckel är en minimal supernyckel, vilket innebär att den har minsta möjliga antal attribut för att fortfarande vara en supernyckel. En entitetsmängd kan ha mer än en kandidatnyckel. En primärnyckel är en kandidatnyckel som valts av databasdesignern för att unikt identifiera entitetsmängden.

Relation

Relationer definierar hur entiteter påverkar varandra eller är associerade med varandra. Tänk på relationer som verb. Till exempel kan en specifik kund köpa en produkt. De två entiteterna är kunden och produkten, och relationen som skildras är köphandlingen, vilken kopplar samman de två entiteterna på det sättet. Relationer visas vanligtvis som romber eller etiketter direkt på anslutningslinjerna.

Rekursiv relation: I en rekursiv relation deltar samma entitet mer än en gång i relationen.

Attribut

Attribut är det som definierar egenskaperna för entiteterna i din databas. Du kan ha en entitetsmängd för kunder som har olika värden för namn, adress, betalningsinformation och så vidare.

Beskrivande attribut: Ett beskrivande attribut är en egenskap eller ett kännetecken för en relation (till skillnad från en entitet).

Attributkategorier: Attributkategorier inkluderar enkla, sammansatta och härledda attribut, samt enkelvärdes- eller flervärdesattribut. Ett enkelt attribut är atomärt och kan inte delas upp ytterligare, till exempel ett telefonnummer. Ett sammansatt attribut är ett underattribut som utgår från ett annat attribut. Ett härlett attribut beräknas eller härleds på annat sätt från ett annat attribut, till exempel ålder utifrån födelsedatum. Ett flervärdesattribut är ett värde för mer än ett attribut, till exempel flera telefonnummer för en person. Ett enkelvärdesattribut har bara ett attributvärde. Typerna kan kombineras, till exempel enkla enkelvärdesattribut eller sammansatta flervärdesattribut.

Kardinalitet

Kardinalitet definierar de numeriska attributen för relationen mellan två entiteter eller entitetsmängder. De tre huvudsakliga kardinalitetsrelationerna är ett-till-ett, ett-till-många och många-till-många. Ett exempel på ett-till-ett är en kund associerad med en postadress. Ett exempel på ett-till-många (eller många-till-ett, beroende på relationens riktning) är en kund som köper flera produkter, men alla dessa produkter har en enda linje tillbaka till den kunden. I ett exempel på många-till-många är kunder som grupp associerade med flera produkter, och produkter är i sin tur associerade med flera kunder.

Kardinalitetsvyer: Kardinalitetsvyer kan visas som look-across eller same-side, beroende på var symbolerna visas.

Kardinalitetsbegränsningar: Kardinalitetsbegränsningar är de lägsta eller högsta antal som gäller för en relation.

Mappa naturligt språk

ER-komponenter kan likställas med ordklasser. Detta visar hur ett ER-diagram förhåller sig till ett grammatikdiagram:

  • Appellativ (substantiv) - Exempel på entitetstyp: kund

  • Proprium (egennamn) - Exempel på entitet: Sally Smith

  • Verb - Exempel på relationstyp: köper

  • Adjektiv - Exempel på attribut för entitet: ny

  • Adverb - Exempel på attribut för relation: digitalt

Databasfrågespråket ERROL efterliknar faktiskt strukturer i naturligt språk. ERROL är baserat på omformad relationsalgebra (RRA) och fungerar med ER-modeller genom att fånga deras lingvistiska aspekter.

Symboler och notationer för ER-diagram

Följande bilder visar flera notationssystem för ER-diagram. Kolla in sidan för symboler och notationer för ER-diagram för mer information.

Chens notation

Kråkfotsnotation/Martin/Information Engineering

Bachman-notation

IDEF1X-notation

Barkers notation

Vissa team tillämpar även UML-notation när de vill uttrycka relationer i ER-stil med objektorienterade konventioner. Detta betyder inte att ER-diagrammet blir en typ av UML-diagram. Istället betyder det helt enkelt dat UML-notation används för att beskriva entitetsrelationer och kardinalitet. Med UML-notationen visas relationer som en heldragen linje som förbinder två entiteter. Kardinaliteter anges på linjen (till exempel indikerar 1..1 ett-till-ett, eller 1..* för ett-till-många) och du kan lägga till verber (som ”gjord av” eller ”beställd av”) för att definiera relationen mellan entiteterna.

Exempel

Följande är exempel på ER-diagram skapade i respektive system.

Konceptuella, logiska och fysiska datamodeller

ER-modeller och datamodeller ritas vanligtvis på upp till tre detaljnivåer:

Konceptuell datamodell

Den här modellen visar vyn på högsta nivå med minst detaljer. Dess värde ligger i att fånga modellens övergripande omfattning och skildra systemarkitekturen. För ett system med mindre omfattning kan du börja med den logiska modellen.

Logisk datamodell

Den här modellen visar mer detaljer än en konceptuell modell och definierar operativa och transaktionella entiteter. Den logiska modellen är oberoende av den teknik som den kommer att implementeras i.

Fysisk datamodell

En eller flera fysiska modeller kan utvecklas från varje logisk modell. De fysiska modellerna måste visa tillräckligt med tekniska detaljer för att kunna producera och implementera den faktiska databasen.

Nager system växer kan det vara svårt att fånga varje operativ detalj i en enda, läsbar bild. Om det behövs kan du använda mer än ett diagram och skapa olika nivåer av ER-diagram efter behov. Mindre system kan å andra sidan ofta enkelt representeras.

Begränsningar med ER-diagram och modeller

ER-diagram och modeller passar inte för alla typer av databaser. Här är flera anledningar till varför de kanske inte är rätt bild för ditt användningsfall:

  • Endast för relationsdata: Det enda syftet med ER-diagram är to visa relationer mellan entiteter, så de är inte rätt val för att designa icke-relationsdatabaser.

  • Inte för ostrukturerad data: Om inte datan är tydligt avgränsad i olika fält, rader eller kolumner är ER-diagram fömodligen till begränsad nytta. Detsamma gäller för semistrukturerad data eftersom endast en del av datan kommer att vara användbar.

  • Svårigheter att integrera med en befintlig databas: Att använda ER-modeller för att integrera med en befintlig databas kan vara en utmaning på grund av de olika arkitekturerna.

I ett relaterat sammanhang, om ditt primära beständighetsskikt är icke-relationellt, kan du behöva ett annat tillvägagångssätt för modellering än ett klassiskt ER-diagram.

Hur man skapar ett grundläggande ER-diagram

  1. Syfte och omfattning: Definiera syftet och omfattningen av det du analyserar eller modellerar.

  2. Entiteter: Identifiera de entiteter som är involverade. När du är redo börjar du rita dem i rektanglar (eller den form ditt system väljer) och märka dem som substantiv.

  3. Relationer: Fastställ hur alla entiteter är relaterade. Rita linjer mellan dem för att markera relationerna och namnge dem. Vissa entiteter behöver inte vara relaterade, och det är helt okej. I olika notationssystem kan relationen märkas i en romb, en rektangel eller direkt ovanpå anslutningslinjen.

  4. Attribut: Lägg till mer detaljer genom att lägga till viktiga attribut för entiteterna. Attribut visas ofta som ovaler.

  5. Kardinalitet: Visa om relationen är ett-till-ett, ett-till-många eller många-till-många.

Om du skapar ett diagram för ett stort system kan du överväga att dela upp arbetet på flera diagram (till exempel en konceptuell översikt plus en eller flera fysiska modeller) för att hålla varje bild läsbar.

Hur man skapar ett ER-diagram i Lucidchart

  1. Öppna ett nytt Lucidchart-dokument

Skapa ditt diagram från grunden eller spara tid genom att börja med en av Lucidcharts färdiga mallar för ER-diagram. Det viktiga är att visa den detaljnivå som krävs för ditt syfte. Du kan rita en konceptuell, logisk eller fysisk modell, beroende på vilken detaljnivå som behövs.

  1. Aktivera formbibliotek för ER-diagram

Klicka på Fler former till vänster i redigeraren och se till att rutan Entitetsrelation är markerad i listan över formbibliotek.

  1. Dra och släpp former

Börja lägga till former på arbetsytan för att representera alla dina entiteter och relationer genom att klicka på önskad form och släppa den där du vill ha den. Se till att alla dina entiteter och relationer är namngivna och että ditt diagram stöder all data du behöver lagra.

  1. Anslut former

Klicka på valfri form och dra sedan ut en linje från en av cirklarna som visas för att ansluta den till en annan form, så att du kan visa relationen mellan entiteter. Håll utkik efter överflödiga entiteter eller relationer. Och om du felsöker ett databasproblem bör du leta efter luckor i relationer eller saknade entiteter eller attribut.

  1. Dela ditt ER-diagram

Eftersom ER-diagram är visuella och standardiserade kan de också fungera som en samarbetsartefakt som team granskar och förfina tillsammans. Du kan enkelt dela ditt nätverksdiagram med andra antingen via e-post, Slack eller en delbar länk. Klicka på Dela i det övre högra hörnet på skärmen så visas ett popup-fönster. Välj hur du vill dela ditt diagram och ställ in lämplig behörighetsnivå.

Allt du behöver för att skapa ett diagram

Skapa ett snyggt, professionellt diagram gratis med Lucidchart. Oavsett vad du har i åtanke har vi de verktyg du behöver för att bygga det. Skapa ett konto och börja rita diagram idag.

Registrera dig gratis

ERD-resurser

Verktyg för ER-diagram

Lucidchart är en intelligent diagramlösning med verktyg som hjälper dig att skapa ett ER-diagram online på några minuter. Importera din egen data eller börja från grunden.

Självstudie för utökade ER-diagram

Redo att komma igång med utökade entitetsrelationsdiagram (EERD)? Lär dig definitioner, fördelar, exempel och mer i den här guiden.

Symboler och notationer för ER-diagram

Oavsett om du behöver en snabbkurs eller en snabb repetition av de former och symboler som utgör entitetsrelationsdiagram har vi vad du behöver.

Vanliga frågor om ER-diagram

Ett entitetsrelationsdiagram (ERD) är ett flödesschema som illustrerar hur entiteter, såsom personer, objekt eller koncept, relaterar till varandra inom ett system. ER-diagram används främst för att designa relationsdatabaser.

Huvudkomponenterna i ett ER-diagram inkluderar entiteter (representerade som rektanglar), relationer (avbildade som romber) och attribut (visade som ovaler), vilka tillsammans illustrerar databasens struktur.

Kardinalitet definierar de numeriska relationerna mellan entiteter, vilket indikerar om de är ett-till-ett, ett-till-många eller många-till-många, och förtydligar hur många instanser av en entitet som relaterar till en annan.

Det huvudsakliga syftet med ett ER-diagram är att modellera och designa relationsdatabaser, vilket gör det möjligt för team att visualisera datakrav och relationer innan den faktiska databasen implementeras.

För att skapa ett grundläggande ER-diagram definierar du syfte och omfattning, identifierar entiteterna, fastställer deras relationer, lägger till attribut och anger kardinalitet för varje relation.

Ja, ER-diagram kan användas för att analysera befintliga databaser för att identifiera och lösa logiska problem eller implementeringsproblem genom att visuellt kartlägga de ingående relationerna och entiteterna.

ER-diagram används ofta inom databasdesign, affärsinformationssystem, omstrukturering av affärsprocesser (BPR), utbildning och forskning för att effektivisera processer och förbättra datahanteringen.

Särskilda symboler som rektanglar, romber och ovaler används i ER-diagram för att skapa ett visuellt språk som representerar entiteter, relationer och attribut, vilket gör diagrammen intuitiva och lätta att förstå.

Ja, ER-diagram kan innehålla entiteter som inte har relationer med andra, eftersom målet är att modellera systemet på ett korrekt sätt, vilket kan innefatta fristående entiteter.

Allt du behöver för att skapa ett diagram

Förutom vårt diagramverktyg online erbjuder Lucidchart support- och utbildningsresurser för att hjälpa dig att utvecklas inom alla typer av diagram.

Visa utbildningslabb