Antag att jag har en ”Transactions” -tabell som har en kolumn ”Customer ID” (Foreign Key) och en Customer Table med ”ID” (Primary key) . Hur visar jag förhållandet mellan de två tabellerna och visar att ”Kund-ID” är den främmande nyckeln till ”Transaktioner” -tabellen som är den primära nyckeln i ”Kund” -tabellen?

Jag googlade den här frågan och kollade också det här forumet för min fråga men kunde inte hitta ett exakt exempel med ett diagram som adresserar min fråga.

Förklara mig, om möjligt, med ett diagram.

Kommentarer

  • Jag hittade följande länk som säger att vi bara kan visa en främmande nyckel i ett konceptuellt ER-diagram. lucidchart.com / sidor / ER-diagram-symboler-och-mening . Berätta hur jag kan göra det.
  • Jag ’ har lärt mig i skolan (!!) att primära nycklar kan representeras med en rak understrykning under attributet (er) och främmande nycklar med en prickad linje
  • Okej. Men hur visar jag att den främmande nyckeln i en tabellen är samma sak som den primära nyckeln till en annan tabell vars namn är olika i respektive ta bles (som ställdes i exemplet i frågan om ’ ID ’ och ’ Kund ID ’)?
  • Eftersom denna fråga hänvisar till en ”No-Chen” -notation (eftersom den ber om att visa fk-relationer) har jag öppnat en ny fråga uttryckligen för en ER-modell i Chen-notation på dba.stackexchange.com/questions/271264/…

Svar

ER-diagram användes ursprungligen endast för att representera ER-modellen. ER-modellen använder inte främmande nycklar för att representera relationer. Den använder linjer mellan lådorna. Raderna har någon form av indikator för kardinalitet i båda ändarna eller i båda ändarna. Ibland kommer en relation att anges separat med en diamant.

Idag är mer än hälften av ER-diagrammen som flyter runt verkligen diagram över en relationsmodell och inte av en ER-modell. En relationsmodell har de främmande nycklarna som ingår i tabellerna, och dessa tjänar till att implementera de relationer som ER-modellen identifierar. Och en relationsmodell kommer att ha en extra tabell, ofta kallad ”korsningstabell” mellan två entitetstabeller som är länkade av ett många-till-många-förhållande. Denna korsningstabell innehåller två eller flera främmande nycklar.

Det finns många sätt att representera en relationsmodell. Det enklaste är kanske ”Relationsdiagram” som MS Access kan producera från en färdig databas. Detta kommer att vara ganska komplett om databasbyggaren har identifierat de främmande nycklarna.

Det finns många verktyg som är mer sofistikerade än MS Access för att skapa diagram i större skala. Några av dessa används innan man bygger databasen. Vissa används efter.

Kommentarer

  • För närvarande gör jag bara ett diagram på ett papper. Kan du snälla visa hur ovanstående två tabeller (i frågan) kan avbildas i ett relationsdiagram?
  • Om du söker på ” ER-diagram Kundtransaktioner ” du får många bilder som visar olika sätt att göra vad du vill.

Svar

När jag ritade ER-diagram har jag använt följande grafiska konvention: Märk förhållandelinjerna med de främmande nyckelns kolumnnamn, så här:

Exempel ERD

Detta gör det klart vilken kolumn i underordnad tabell som är den främmande nyckeln till överordnad tabell. Att indikera primärnyckelstatus kan göras genom att understryka attributet i fråga.

Vad som kan vara mer användbart än detta är en namngivningskonvention som gör det klart vad som är den primära nyckeln i en tabell (lätt att göra om du använder surrogatnycklar enligt konvention) och vad som är en främmande nyckelkolumn.

Vissa relationsmodelldiagram innehåller också en nyckeldeltagningsetikett till vänster om kolumnnamnen i kolumnlistan (t.ex. ” PK ”, ” FK1 ”, ” FK2 ”, …) vilket kan hjälpa speciellt om du har sammansatta tangenter.

Kommentarer

  • Är denna konvention också publicerad någonstans, eller är det bara din (bra) idé?
  • @Lorenz är den ’ min anpassning för ett fysiskt enhetsrelationsdiagram för versionen av kråka ’ s fotnotation ( en.wikipedia.o rg / wiki / … ) publicerad av James Martin ( en.wikipedia.org/wiki/James_Martin_(author) ) i sin bok Informationsteknik som använde relationsnamnet som etikett på relationer.För mig är det ’ en vettig förlängning från den logiska modellen till den fysiska modellen.
  • Även om det hjälper, förblir det en privat idé då, detta var inte helt rensa från uttrycket ”Jag har använt”.

Svar

enter bildbeskrivning här

Jag föredrar det här formatet med ”kråkor” för att illustrera de många-till-en-kopplingar

Kommentarer

  • Jag gillar också kråkor för ER-diagram. För relationsdiagram föredrar jag pilspetsen. Observera att en kråka fot går på ” många ” slutet av en rad, medan en pilspets går på ” en ” slutet på en rad.
  • Det finns bara FK / PK-symbolerna som saknas vid raden slutar i den här grafen här 🙂 Ändå fick detta uppföljningssvar på dlink ’ första inlägg av länken för få röster enligt min åsikt. dlink ’ s tidigare publicerade länk kritiserades, det nämndes redan i den första kommentaren i frågan tidigare av @MKSingh som hade ställt;), MEN! det verkar som om länken är bättre än angiven där. Om du tittar på videon som erbjuds under ” fysiska ERD-symboler ”, visar den exakt hur du representerar flera FK i en ERD, här är den direkta länken, gå till 7:28, youtube.com/watch?v=QpdhBUYk7Kk

Svar

Många år senare, tänk på de olika notationerna av ER-diagram, frågan är alltså inte tillräckligt exakt.

Ta en titt på alla svar på

https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram#48198083

och

Vilken är ett ER-diagram? . Ett svar här säger till och med att Chen-notationen är ERD, medan Crow Foot-notering sägs vara en EAD (Entity Attribute Diagram), se @JoshuaGuttman.

Chen-notationen visar inte uttryckligen FK-relationerna , som det accepterade svaret redan förklarar, medan andra notationer kan göra detta.

Om du till exempel tar noteringen Crow Crow eller Baker istället kan du ta ” mest exakta ” svaret på @dlink där linjerna leder exakt till FK: erna. Det är fortfarande oklart vad man ska göra med sammansatta FK: er som leder till sammansatta PK: er, och troligtvis på grund av att professionella program helt enkelt inte länkar linjeavsluten grafiskt med FK: erna. Då är namngivning allt du kan hänvisa till, vilket ändå räcker om du strikt följer en namngivningskonvention (som CustomerID till Customer.ID eller andra regler) Se till exempel Visual Paradigm på https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-relationship-diagram/

vp erd

Svar

Denna sida av LucidCharts har en trevlig skrivning om hur ERD ska se ut.

Under Physical ERD Symbols visar det hur du representerar nycklar.

[ https://www.lucidchart.com/pages/ER-diagram-symbols-and-meaning]

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *