Angenommen, ich habe eine Tabelle „Transaktionen“ mit einer Spalte „Kunden-ID“ (Fremdschlüssel) und eine Kundentabelle mit „ID“ (Primärschlüssel). . Wie zeige ich die Beziehung zwischen den beiden Tabellen und zeige, dass die „Kunden-ID“ der Fremdschlüssel der Tabelle „Transaktionen“ ist, die der Primärschlüssel in der Tabelle „Kunde“ ist?
Ich habe diese Frage gegoogelt und überprüfte auch dieses Forum auf meine Anfrage, konnte aber kein genaues Beispiel mit einem Diagramm finden, das meine Frage adressiert.
Bitte erläutern Sie mich, wenn möglich, mit einem Diagramm.
Kommentare
- Ich habe den folgenden Link gefunden, der besagt, dass wir einen Fremdschlüssel nur in einem konzeptionellen ER-Diagramm anzeigen können. lucidchart.com / pages / ER-Diagrammsymbole und -bedeutung . Bitte sagen Sie mir, wie ich das machen kann.
- Ich ‚ habe in der Schule gelernt (!!) dass Primärschlüssel mit einer geraden Unterstreichung unter den Attributen und Fremdschlüssel mit einer gepunkteten Linie dargestellt werden können
- Okay. Aber wie zeige ich, dass der Fremdschlüssel in einem Tabelle ist dasselbe wie der Primärschlüssel einer anderen Tabelle, deren Namen sich in ihrem jeweiligen ta unterscheiden bles (wie im Beispiel in der Frage zu ‚ ID ‚ und ‚ Kunde gestellt ID ‚)?
- Da sich diese Frage auf eine „No-Chen“ -Notation bezieht (weil sie die Anzeige von fk-Beziehungen erfordert), habe ich eine neue geöffnet Frage explizit für ein ER-Modell in Chen-Notation unter dba.stackexchange.com/questions/271264/…
Antwort
ER-Diagramme wurden ursprünglich nur zur Darstellung des ER-Modells verwendet. Das ER-Modell verwendet keine Fremdschlüssel zur Darstellung von Beziehungen. Es werden Linien zwischen Feldern verwendet. Die Linien haben an beiden Enden oder an beiden Enden eine Art Indikator für die Kardinalität. Manchmal wird eine Beziehung durch einen Diamanten separat angezeigt.
Heute sind mehr als die Hälfte der herumschwebenden ER-Diagramme Diagramme eines relationalen Modells und nicht eines ER-Modells. In einem relationalen Modell sind die Fremdschlüssel in den Tabellen enthalten, und diese dienen dazu, die Beziehungen zu implementieren, die das ER-Modell identifiziert. Ein relationales Modell verfügt über eine zusätzliche Tabelle, die häufig als „Junction-Tabelle“ zwischen zwei Entitätstabellen bezeichnet wird, die durch eine Viele-zu-Viele-Beziehung verbunden sind. Diese Junction-Tabelle enthält zwei oder mehr Fremdschlüssel.
Es gibt viele Möglichkeiten, ein relationales Modell darzustellen. Das vielleicht einfachste ist das „Beziehungsdiagramm“, das MS Access aus einer vollständigen Datenbank erstellen kann. Dies ist ziemlich vollständig, wenn der Datenbank-Builder die Fremdschlüssel identifiziert hat.
Es gibt viele Tools, die komplexer als MS Access sind, um Diagramme in größerem Maßstab zu erstellen. Einige davon werden vor dem Erstellen der Datenbank verwendet. Einige werden nach verwendet.
Kommentare
- Derzeit mache ich nur ein Diagramm auf einem Papier. Können Sie bitte zeigen, wie die beiden oben genannten Tabellen (in der Frage) in einem Beziehungsdiagramm dargestellt werden können?
- Wenn Sie nach “ ER-Diagramm Kundentransaktionen suchen “ Sie erhalten viele Bilder, die verschiedene Möglichkeiten zeigen, um das zu tun, was Sie wollen.
Antwort
Beim Zeichnen von ER-Diagrammen habe ich die folgende grafische Konvention verwendet: Beschriften Sie die Beziehungslinien wie folgt mit den Namen der Fremdschlüsselspalten:
Dadurch wird deutlich, welche Spalte in der untergeordneten Tabelle der Fremdschlüssel für die übergeordnete Tabelle ist. Die Angabe des Primärschlüsselstatus kann durch Unterstreichen des betreffenden Attributs erfolgen.
Was möglicherweise nützlicher ist als dies, ist eine Namenskonvention, die deutlich macht, was der Primärschlüssel einer Tabelle ist (bei Verwendung einfach durchzuführen Ersatzschlüssel gemäß Konvention) und was ist eine Fremdschlüsselspalte.
Einige relationale Modelldiagramme enthalten auch eine Schlüsselbeteiligungsbezeichnung links neben den Spaltennamen in der Liste der Spalten (z. B. “ PK „, “ FK1 „, “ FK2 „, …), was besonders hilfreich sein kann, wenn Sie zusammengesetzte Schlüssel haben.
Kommentare
- Wird diese Konvention auch irgendwo veröffentlicht oder ist es nur Ihre (gute) Idee?
- @Lorenz ‚ ist meine Anpassung für ein physikalisches Entitäts-Beziehungs-Diagramm der Version der Fußnotation von
( en.wikipedia.o rg / wiki / … ) veröffentlicht von James Martin ( en.wikipedia.org/wiki/James_Martin_(author) ) in seinem Buch Information Engineering , in dem der Beziehungsname als Bezeichnung für Beziehungen verwendet wurde.Für mich ist ‚ eine sinnvolle Erweiterung vom logischen Modell zum physischen Modell.
Antwort
Ich bevorzuge dieses Format und verwende „Krähenfüße“, um die vielen-zu-eins-Verknüpfungen zu veranschaulichen.
Kommentare
- Ich mag Krähenfüße auch für ER-Diagramme. Für relationale Diagramme bevorzuge ich die Pfeilspitze. Beachten Sie, dass ein Krähenfuß auf das “ viele “ Ende einer Zeile geht, während eine Pfeilspitze auf das ein “ Zeilenende.
- In diesem Diagramm fehlen hier nur die FK / PK-Symbole an den Zeilenenden 🙂 Dennoch erhielt diese Antwort auf die erste Veröffentlichung des Links durch dlink ‚ meiner Meinung nach zu wenig Stimmen. Der zuvor gepostete Link von dlink ‚ wurde kritisiert. Er wurde bereits im ersten Kommentar der Frage von @MKSingh erwähnt, der gefragt hatte;), ABER! es scheint, dass der Link besser ist als dort angegeben. Wenn Sie sich das Video ansehen, das unter “ physische ERD-Symbole “ angeboten wird, wird genau gezeigt, wie mehrere FK in einer ERD dargestellt werden. Hier ist der direkte Link, gehen Sie zu 7:28, youtube.com/watch?v=QpdhBUYk7Kk
Antwort
Viele Jahre später beachten Sie bitte die unterschiedlichen Notationen von ER-Diagrammen, daher ist die Frage nicht präzise genug.
Schauen Sie sich das an alle Antworten unter
https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram#48198083
und
Welches ist ein ER-Diagramm? . Eine Antwort hier besagt sogar, dass die Chen-Notation die ERD ist, während die Crow-Foot-Notation ein EAD (Entity Attribute Diagram) sein soll, siehe @JoshuaGuttman.
Die Chen-Notation zeigt die FK-Beziehungen nicht explizit an , wie die akzeptierte Antwort bereits erklärt, während andere Notationen dies tun können.
Wenn Sie stattdessen beispielsweise die Notation Crow Foot oder Baker verwenden, können Sie die “ genaueste “ Antwort von @dlink, bei der die Linien genau zu den FKs führen. Dann ist immer noch unklar, was mit zusammengesetzten FKs zu tun ist, die zu zusammengesetzten PKs führen, und wahrscheinlich wegen Professionelle Programme verknüpfen die Zeilenenden einfach nicht grafisch mit den FKs. Dann können Sie sich nur auf die Benennung beziehen, was ohnehin ausreicht, wenn Sie sich strikt an eine Namenskonvention halten (wie CustomerID to Customer.ID oder andere Regeln). Siehe zum Beispiel Visual Paradigm unter https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-relationship-diagram/
Antwort
Diese Seite von LucidCharts hat Eine schöne Beschreibung, wie ERD aussehen sollte.
Unter Physische ERD-Symbole wird gezeigt, wie Schlüssel dargestellt werden.
[ https://www.lucidchart.com/pages/ER-diagram-symbols-and-meaning]
Kommentare
- Willkommen dlink. Versuchen Sie, gründliche Antworten zu geben, die mehr als nur ein Link sind, da sie sonst möglicherweise entfernt werden.