SQL vers ERD

Collez une ou plusieurs instructions CREATE TABLE et cet outil dessine le schéma : chaque table devient une entité, les colonnes deviennent des attributs marqués PK / FK, et les contraintes FOREIGN KEY deviennent des traits de relation. Lorsqu’un schéma ne déclare aucune clé étrangère, des colonnes comme customer_id sont proposées comme relations déduites que vous pouvez garder ou retirer. Copiez la source Mermaid erDiagram ou exportez le diagramme en SVG / PNG. Tout s’exécute localement — aucun schéma ne quitte votre navigateur.
Qu’est-ce qu’un ERD ? ERD signifie Entity Relationship Diagram (diagramme entité-association) — une image de l’organisation d’une base de données. Il se compose de trois sortes de formes : les entités (les tables, dessinées en boîtes), les attributs (les colonnes listées dans une boîte) et les relations (les traits qui relient deux boîtes). La technique vient du modèle entité-association de Peter Chen (1976) et reste la façon habituelle d’esquisser un schéma avant d’écrire le moindre DDL : un bon ERD montre d’un coup d’œil quelles tables existent, ce que stocke chaque ligne, et comment une ligne d’une table pointe vers une ligne d’une autre — lisible par des personnes qui ne veulent pas lire du SQL.
Entity — one thing the system keeps data about, such as a customer, an order or a product. In a relational database each entity becomes one table.
Attribute — one fact recorded for every row of an entity, such as a name, a price or a date. Each attribute becomes one column.
Relationship — an association between two entities, implemented by a foreign key: the child table stores the parent’s key, and the diagram turns that column into a line.
PK / FK — a primary key (PK) identifies each row of a table uniquely; a foreign key (FK) holds the primary key of another table and is what a relationship line represents.
Cardinalité — combien de lignes sont autorisées à chaque extrémité d’une liaison : un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs. Cette page dessine la notation patte de corbeau qu’utilise Mermaid (voir la légende à l’étape 4).
Notations : la notation de Chen utilise des losanges pour les relations et des ellipses pour les attributs ; la notation patte de corbeau (celle dessinée ici) résume une entité en une seule boîte où sont listés ses attributs, et marque l’extrémité « plusieurs » d’une liaison par une « patte de corbeau » à trois branches ; les diagrammes de classes UML décrivent la même structure avec des classes, des opérations et des multiplicités. Les trois disent la même chose du schéma — seuls les symboles diffèrent.
1 — Schéma des tables (DDL)
2 — Entités
Dessiner Table Colonnes Relations Attributs
Aucune table analysée pour l’instant.
3 — Relations
Utiliser Enfant (plusieurs) Actions Parent (un) Source Actions
Aucune relation pour l’instant.
Ajouter une relation à la main :
→
4 — Diagramme
Source Mermaid erDiagram
Comment lire les relations : une clé étrangère de la table enfant produit PARENT ||--o{ CHILD. Les entités et les attributs conservent leurs noms DDL, les caractères que Mermaid ne peut pas dessiner (espaces, tirets) étant remplacés par des tirets bas. Les types sont simplifiés à leur mot de base (DECIMAL(10,2) → DECIMAL), car la syntaxe du diagramme ne prend pas de paramètres.
Symboles de cardinalité (patte de corbeau) : la marque placée à côté d’une entité indique combien de lignes peuvent se trouver à cette extrémité de la liaison — || exactement une, o| zéro ou une, o{ zéro ou plusieurs, |{ une ou plusieurs. Ainsi, PARENT ||--o{ CHILD se lit « une ligne parent peut être référencée par zéro, une ou plusieurs lignes enfants, et chaque ligne enfant pointe vers exactement un parent » — la liaison classique un-à-plusieurs.
Many-to-many is never a single line: a product can appear in many orders and an order can hold many products, so the schema stores a join table (order_items) whose two foreign keys become two one-to-many lines. Read through that middle box and the many-to-many is there.