web-dev-qa-db-fra.com

Comment représenter la clé étrangère dans un diagramme ER?

Supposons que j'ai une table "Transactions" qui a une colonne "ID client" (clé étrangère) et une table client ayant "ID" (clé primaire). Comment puis-je montrer la relation entre les deux tables et montrer que l '"ID client" est la clé étrangère de la table "Transactions" qui est la clé primaire de la table "Client"?

J'ai googlé cette question et également vérifié ce forum pour ma requête, mais je n'ai pas pu trouver un exemple exact avec un diagramme répondant à ma question.

Veuillez m'expliquer, si possible, avec un schéma.

7
MK Singh

Les diagrammes ER étaient à l'origine utilisés uniquement pour représenter le modèle ER. Le modèle ER n'utilise pas de clés étrangères pour représenter les relations. Il utilise des lignes entre les cases. Les lignes ont une sorte d'indicateur de cardinalité à chaque extrémité ou aux deux extrémités. Parfois, une relation sera indiquée séparément par un diamant.

Aujourd'hui, plus de la moitié des diagrammes ER flottants sont en réalité des diagrammes d'un modèle relationnel et non d'un modèle ER. Un modèle relationnel a les clés étrangères incluses dans les tables, et celles-ci servent à implémenter les relations que le modèle ER identifie. Et un modèle relationnel aura une table supplémentaire, souvent appelée "table de jonction" entre deux tables d'entités qui sont liées par une relation plusieurs-à-plusieurs. Cette table de jonction contient deux ou plusieurs clés étrangères.

Il existe de nombreuses façons de représenter un modèle relationnel. Le plus simple est peut-être le "Diagramme des relations" que MS Access peut produire à partir d'une base de données complète. Ce sera assez complet, si le constructeur de base de données a identifié les clés étrangères.

Il existe de nombreux outils plus sophistiqués que MS Access pour créer des diagrammes à plus grande échelle. Certains d'entre eux sont utilisés avant de créer la base de données. Certains sont utilisés après.

9
Walter Mitty

enter image description here

Je préfère ce format, en utilisant "pattes d'oie" pour illustrer les jointures plusieurs-à-un

1
dlink

Lors du dessin de diagrammes ER, j'ai utilisé la convention graphique suivante: Étiquetez les lignes de relation avec le ou les noms de colonne de clé étrangère, comme ceci:

Example ERD

Cela indique clairement quelle colonne de la table enfant est la clé étrangère de la table parent. Il est possible d'indiquer l'état de la clé primaire en soulignant l'attribut en question.

Ce qui peut être plus utile que cela, c'est une convention de dénomination qui indique clairement quelle est la clé primaire d'une table (facile à faire si vous utilisez des clés de substitution par convention) et ce qu'est une colonne de clé étrangère.

Certains diagrammes de modèle relationnel incluent également une étiquette de participation de clé à gauche des noms de colonne dans la liste des colonnes (par exemple "PK", "FK1", "FK2", ...) qui peut être utile, surtout si vous avez des clés composites.

0
Joel Brown