SQL till ERD — visualisera CREATE TABLE-scheman som entity-relationship-diagram
SQL till ERD
Klistra in en eller flera CREATE TABLE-satser så ritar verktyget schemat: varje tabell blir en entitet, kolumner blir attribut märkta PK / FK, och FOREIGN KEY-villkor blir relationslinjer. När ett schema inte deklarerar några främmande nycklar erbjuds kolumner som customer_id som härledda relationer som kan behållas eller tas bort. Kopiera källan för Mermaid erDiagram eller exportera diagrammet som SVG / PNG. Allt körs lokalt — inget schema lämnar någonsin webbläsaren.
Vad är ett ERD? ERD står för Entity Relationship Diagram — en bild av hur en databas är organiserad. Den ritas med tre slags former: entiteter (tabellerna, ritade som rutor), attribut (kolumnerna listade inuti en ruta) och relationer (linjerna som förbinder två rutor). Tekniken kommer från Peter Chens entity-relationship-modell från 1976 och är fortfarande det vanliga sättet att skissera ett schema innan någon DDL skrivs: ett bra ERD visar på en blick vilka tabeller som finns, vad varje rad lagrar och hur en rad i en tabell pekar på en rad i en annan — läsbart för personer som inte vill läsa 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.
Kardinalitet — hur många rader som tillåts på varje ände av en linje: en-till-en, en-till-många eller många-till-många. Den här sidan ritar kråkfotsnotationen som Mermaid använder (se förklaringen i steg 4).
Notationer: Chen-notationen använder romber för relationer och ellipser för attribut; kråkfotsnotationen (den som ritas här) komprimerar en entitet till en enda ruta med attributen listade inuti och markerar många-änden av en linje med en trepronget "kråkfot"; UML-klassdiagram beskriver samma struktur med klasser, operationer och multiplicitet. Alla tre säger samma sak om schemat — bara symbolerna skiljer sig.
1 — Tabellschema (DDL)
2 — Entiteter
Rita
Tabell
Kolumner
Relationer
Attribut
Inga tabeller tolkade ännu.
3 — Relationer
Använd
Barn (många)
Actions
Förälder (en)
Källa
Actions
Inga relationer ännu.
Lägg till en relation för hand:
→
4 — Diagram
Mermaid erDiagram-källa
Så läses relationer: en främmande nyckel i barn-tabellen ger PARENT ||--o{ CHILD. Entiteter och attribut behåller sina DDL-namn, med tecken som Mermaid inte kan rita (mellanslag, bindestreck) visade som understreck. Typer förenklas till sitt grundord (DECIMAL(10,2) → DECIMAL) eftersom diagramsyntaxen inte tar parametrar.
Kardinalitetssymboler (kråkfot): markeringen vid en entitet anger hur många rader som får stå på den änden av linjen — || exakt en, o| noll eller en, o{ noll eller många, |{ en eller många. Så PARENT ||--o{ CHILD läses som "en föräldrarad kan refereras av noll, en eller många barnrader, och varje barnrad pekar på exakt en förälder" — den klassiska en-till-många-kopplingen.
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.