Supponiamo di avere una tabella “Transazioni” che ha una colonna “ID cliente” (chiave esterna) e una tabella clienti con “ID” (chiave primaria) . Come faccio a mostrare la relazione tra le due tabelle e a dimostrare che “ID cliente” è la chiave esterna della tabella “Transazioni”, che è la chiave primaria nella tabella “Cliente”?
Ho cercato su Google questa domanda e ho anche controllato questo forum per la mia domanda, ma non sono riuscito a trovare un esempio esatto con un diagramma che affronti la mia domanda.
Per favore, spiegami, se possibile, con un diagramma.
Commenti
- Ho trovato il seguente link che dice che possiamo mostrare una chiave esterna solo in un diagramma ER concettuale. lucidchart.com / pages / ER-diagramma-simboli-e-significato . Per favore dimmi come posso farlo.
- ‘ ho imparato a scuola (!!) che le chiavi primarie possono essere rappresentate con una sottolineatura diritta sotto gli attributi e le chiavi esterne con una linea tratteggiata
- Va bene. Ma come faccio a mostrare che la chiave esterna in una table è la stessa cosa della chiave primaria di unaltra tabella i cui nomi sono diversi nei rispettivi ta bles (come chiesto nellesempio nella domanda su ‘ ID ‘ e ‘ cliente ID ‘)?
- Poiché questa domanda si riferisce a una notazione “No-Chen” (perché chiede di mostrare le relazioni fk), ho aperto una nuova domanda esplicita per un modello ER in notazione Chen su dba.stackexchange.com/questions/271264/…
Risposta
I diagrammi ER sono stati originariamente utilizzati solo per rappresentare il modello ER. Il modello ER non utilizza chiavi esterne per rappresentare le relazioni. Usa le linee tra le caselle. Le linee hanno una sorta di indicatore per la cardinalità a entrambe le estremità o entrambe le estremità. A volte, una relazione sarà indicata separatamente da un diamante.
Oggi, più della metà dei diagrammi ER che fluttuano sono in realtà diagrammi di un modello relazionale e non di un modello ER. Un modello relazionale ha le chiavi esterne incluse nelle tabelle, e queste servono per implementare le relazioni che il modello ER identifica. E un modello relazionale avrà una tabella aggiuntiva, spesso chiamata “tabella di giunzione” tra due tabelle di entità collegate da una relazione molti-a-molti. Questa tabella di giunzione contiene due o più chiavi esterne.
Esistono molti modi per rappresentare un modello relazionale. Forse il più semplice è il “diagramma di relazione” che MS Access può produrre da un database completo. Questo sarà abbastanza completo, se il generatore di database ha identificato le chiavi esterne.
Esistono molti strumenti più sofisticati di MS Access per creare diagrammi su scala più ampia. Alcuni di questi vengono utilizzati prima della creazione del database. Alcuni sono usati dopo.
Commenti
- Attualmente sto solo facendo un diagramma su un foglio. Puoi mostrare come le due tabelle sopra (nella domanda) possono essere rappresentate in un diagramma di relazione?
- Se cercherai su ” Diagramma ER Transazioni clienti ” otterrai molte immagini che mostrano vari modi per fare ciò che desideri.
Risposta
Quando si disegnano diagrammi ER, ho utilizzato la seguente convenzione grafica: etichetta le linee di relazione con i nomi delle colonne della chiave esterna, in questo modo:
Questo rende chiaro quale colonna nella tabella figlia è la chiave esterna per la tabella genitore. Lindicazione dello stato della chiave primaria può essere eseguita sottolineando lattributo in questione.
Ciò che può essere più utile di questa è una convenzione di denominazione che chiarisce qual è la chiave primaria di una tabella (fatto facilmente se usi chiavi surrogate per convenzione) e che cosè una colonna di chiave esterna.
Alcuni diagrammi di modelli relazionali includono anche unetichetta di partecipazione chiave a sinistra dei nomi delle colonne nellelenco di colonne (ad esempio ” PK “, ” FK1 “, ” FK2 “, …) che può essere utile soprattutto se hai chiavi composite.
Commenti
- Anche questa convenzione è stata pubblicata da qualche parte o è solo una tua (buona) idea?
- @Lorenz it ‘ è mio adattamento per un diagramma entità-relazione fisica della versione di crow ‘ s foot notation ( en.wikipedia.o rg / wiki / … ) pubblicato da James Martin ( en.wikipedia.org/wiki/James_Martin_(author) ) nel suo libro Ingegneria dellinformazione che utilizzava il nome della relazione come etichetta sulle relazioni.Per me è ‘ unestensione ragionevole dal modello logico al modello fisico.
- Anche se aiuta, rimane unidea privata allora, non era del tutto chiaro dallespressione “Ho usato”.
Risposta
Preferisco questo formato, utilizzando “zampe di gallina” per illustrare i join molti a uno
Commenti
- Mi piacciono anche le zampe di gallina per i diagrammi ER. Per i diagrammi relazionali, preferisco la punta della freccia. nota che una zampa di gallina va su ” molti ” fine di una riga, mentre una punta di freccia va su ” una ” fine di una riga.
- Mancano solo i simboli FK / PK alle estremità della linea in questo grafico 🙂 Tuttavia, questa risposta di follow-up alla prima pubblicazione del link di dlink ‘ ha ottenuto, secondo me, troppo pochi voti. dlink ‘ s link precedentemente pubblicato è stato criticato, era già stato menzionato nel primo commento della domanda prima da @MKSingh che aveva chiesto;), MA! sembra che il collegamento sia migliore di quanto dichiarato lì. Se guardi il video offerto con ” simboli ERD fisici “, mostra esattamente come rappresentare più FK in un ERD, ecco il link diretto, vai a 7:28, youtube.com/watch?v=QpdhBUYk7Kk
Risposta
Molti anni dopo, fai attenzione alle diverse notazioni dei diagrammi ER, la domanda non è quindi abbastanza precisa.
Dai unocchiata a tutte risposte a
https://stackoverflow.com/questions/48191228/is-erd-considered-a-kind-of-uml-diagram#48198083
e
Qual è un diagramma ER? . Una risposta qui afferma persino che la notazione Chen è lERD, mentre la notazione Crow Foot si dice che sia un EAD (Entity Attribute Diagram), vedere @JoshuaGuttman.
La notazione Chen non mostra esplicitamente le relazioni FK , come già spiega la risposta accettata, mentre altre notazioni possono farlo.
Se prendi invece la notazione Crow Foot o Baker, potresti prendere la ” risposta ” più precisa di @dlink dove le linee portano esattamente agli FK. Quindi non è ancora chiaro cosa fare con gli FK compositi che portano a PK compositi e probabilmente a causa di che, i programmi professionali semplicemente non collegano graficamente le terminazioni di riga con gli FK. Quindi, la denominazione è tutto ciò a cui puoi fare riferimento, il che è comunque sufficiente se ti attieni strettamente a una convenzione di denominazione (come CustomerID to Customer.ID, o altre regole) . Vedi ad esempio Paradigma visivo su https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-relationship-diagram/
Answer
Questa pagina, di LucidCharts ha una bella scrittura su come dovrebbe apparire ERD.
Sotto Simboli fisici ERD, mostra come rappresentare le chiavi.
[ https://www.lucidchart.com/pages/ER-diagram-symbols-and-meaning]
Commenti
- Benvenuto dlink. Cerca di fornire risposte esaurienti che siano più di un semplice link , altrimenti potrebbero essere rimosse.