SQL na ERD

Vloží sa jeden alebo viac príkazov CREATE TABLE a tento nástroj nakreslí schému: každá tabuľka sa stane entitou, stĺpce atribútmi označenými PK / FK a obmedzenia FOREIGN KEY čiarami vzťahov. Ak schéma neuvádza cudzie kľúče, stĺpce ako customer_id sa ponúknu ako odvodené vzťahy, ktoré sa dajú ponechať alebo zahodiť. Zdrojový kód Mermaid erDiagram sa dá kopírovať alebo diagram exportovať ako SVG / PNG. Všetko beží lokálne — žiadna schéma neopustí prehliadač.
Čo je ERD? ERD znamená Entity Relationship Diagram (diagram entít a vzťahov) — obrázok toho, ako je databáza usporiadaná. Kreslí sa z troch druhov tvarov: entity (tabuľky, kreslené ako políčka), atribúty (stĺpce uvedené vnútri políčka) a vzťahy (čiary spájajúce dve políčka). Technika pochádza z modelu entity-vzťah Petra Chena z roku 1976 a stále je bežným spôsobom, ako načrtnúť schému pred napísaním akéhokoľvek DDL: dobrý ERD ukazuje na prvý pohľad, aké tabuľky existujú, čo ukladá každý riadok a ako riadok v jednej tabuľke ukazuje na riadok v inej — čitateľné aj pre ľudí, ktorí nechcú čítať 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.
Kardinalita — koľko riadkov je povolených na každom konci čiary: jeden-k-jednému, jeden-k-mnohým alebo mnoho-k-mnohým. Táto stránka kreslí notáciu vrany, ktorú používa Mermaid (súvisiace: legendu v kroku 4).
Notácie: notácia Chen používa kosoštvorce pre vzťahy a elipsy pre atribúty; notácia vrany (tu kreslená) zhrnie entitu do jedného políčka so zoznamom atribútov vnútri a koniec čiary „mnoho“ označí trojprstým „vranim chodidlom“; diagramy tried UML opisujú tú istú štruktúru triedami, operáciami a násobnosťami. Všetky tri hovoria o schéme to isté — líšia sa len symboly.
1 — Schéma tabuliek (DDL)
2 — Entity
Nakresliť Tabuľka Stĺpce Vzťahy Atribúty
Zatiaľ nebola spracovaná žiadna tabuľka.
3 — Vzťahy
Použiť Podriadená (mnoho) Actions Rodič (jeden) Zdroj Actions
Zatiaľ žiadne vzťahy.
Vzťah sa pridá ručne:
→
4 — Diagram
Zdroj Mermaid erDiagram
Ako sa čítajú vzťahy: cudzí kľúč v podriadenej tabuľke vytvára PARENT ||--o{ CHILD. Entity a atribúty si zachovávajú názvy z DDL; znaky, ktoré Mermaid nedokáže nakresliť (medzery, pomlčky), sa zobrazia ako podčiarkovníky. Typy sa zjednodušia na základné slovo (DECIMAL(10,2) → DECIMAL), pretože syntax diagramu parametre neprijíma.
Symboly kardinality (vrana): značka pri entite hovorí, koľko riadkov môže stáť na tomto konci čiary — || presne jeden, o| nula alebo jeden, o{ nula alebo viac, |{ jeden alebo viac. Takže PARENT ||--o{ CHILD sa číta ako „jeden rodičovský riadok môže byť odkazovaný nulou, jedným alebo viacerými podriadenými riadkami a každý podriadený riadok ukazuje presne na jeden rodičovský riadok“ — klasické prepojenie jeden-k-mnohým.
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.