SQL naar ERD

Plak een of meer CREATE TABLE-instructies en deze tool tekent het schema: elke tabel wordt een entiteit, kolommen worden attributen met de labels PK / FK, en FOREIGN KEY-beperkingen worden relatielijnen. Wanneer een schema geen refererende sleutels aangeeft, worden kolommen zoals customer_id aangeboden als afgeleide relaties die u kunt behouden of verwijderen. Kopieer de Mermaid erDiagram-bron of exporteer het diagram als SVG / PNG. Alles draait lokaal — geen enkel schema verlaat uw browser.
Wat is een ERD? ERD staat voor Entity Relationship Diagram — een beeld van hoe een database is ingericht. Het wordt getekend met drie soorten vormen: entiteiten (de tabellen, getekend als vakken), attributen (de kolommen die in een vak staan) en relaties (de lijnen die twee vakken verbinden). De techniek komt uit het entiteit-relatiemodel van Peter Chen uit 1976 en is nog steeds de gebruikelijke manier om een schema te schetsen voordat er DDL wordt geschreven: een goed ERD laat in één oogopslag zien welke tabellen er zijn, wat elke rij opslaat en hoe een rij in de ene tabel naar een rij in een andere verwijst — leesbaar voor mensen die geen SQL willen lezen.
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.
Kardinaliteit — hoeveel rijen aan elk uiteinde van een lijn zijn toegestaan: een-op-een, een-op-veel of veel-op-veel. Deze pagina tekent de kraaienpoot-notatie die Mermaid gebruikt (zie de legenda in stap 4).
Notaties: de Chen-notatie gebruikt ruiten voor relaties en ellipsen voor attributen; de kraaienpoot-notatie (die hier wordt getekend) comprimeert een entiteit tot één vak met de attributen erin en markeert het veel-uiteinde van een lijn met een driepuntige “kraaienpoot”; UML-klassediagrammen beschrijven dezelfde structuur met klassen, operaties en multipliciteiten. Alle drie zeggen hetzelfde over het schema — alleen de symbolen verschillen.
1 — Tabelschema (DDL)
2 — Entiteiten
Tekenen Tabel Kolommen Relaties Attributen
Nog geen tabellen geparseerd.
3 — Relaties
Gebruik Kind (veel) Actions Ouder (één) Bron Actions
Nog geen relaties.
Voeg handmatig een relatie toe:
→
4 — Diagram
Mermaid-erDiagram-bron
Zo worden relaties gelezen: een refererende sleutel op de kind-tabel levert PARENT ||--o{ CHILD op. Entiteiten en attributen behouden hun DDL-namen; tekens die Mermaid niet kan tekenen (spaties, streepjes) worden als underscores getoond. Typen worden teruggebracht tot hun basiswoord (DECIMAL(10,2) → DECIMAL), omdat de diagramsyntaxis geen parameters aanneemt.
Kardinaliteitssymbolen (kraaienpoot): het teken naast een entiteit geeft aan hoeveel rijen aan dat uiteinde van de lijn mogen staan — || precies één, o| nul of één, o{ nul of meer, |{ één of meer. PARENT ||--o{ CHILD betekent dus “één ouderrij kan door nul, één of meer kinderrijen worden verwezen, en elke kinderrij wijst naar precies één ouder” — de klassieke een-op-veel-relatie.
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.