SQL til ERD

Indsæt en eller flere CREATE TABLE-sætninger, og dette værktøj tegner skemaet: hver tabel bliver til en entitet, kolonner bliver til attributter markeret PK / FK, og FOREIGN KEY-begrænsninger bliver til relationslinjer. Når et skema ikke erklærer nogen fremmednøgler, tilbydes kolonner som customer_id som udledte relationer, der kan beholdes eller droppes. Kopiér Mermaid erDiagram-kilden, eller eksportér diagrammet som SVG / PNG. Alt kører lokalt — intet skema forlader browseren.
Hvad er et ERD? ERD står for Entity Relationship Diagram — et billede af, hvordan en database er organiseret. Det tegnes ud fra tre slags former: entiteter (tabellerne, tegnet som bokse), attributter (kolonnerne opført inde i en boks) og relationer (linjerne, der forbinder to bokse). Teknikken stammer fra Peter Chens entitets-relations-model fra 1976 og er stadig den sædvanlige måde at skitsere et skema på, før nogen DDL skrives: et godt ERD viser med ét blik, hvilke tabeller der findes, hvad hver række gemmer, og hvordan en række i én tabel peger på en række i en anden — læseligt for folk, der ikke vil læse 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 — hvor mange rækker der er tilladt i hver ende af en linje: en-til-en, en-til-mange eller mange-til-mange. Denne side tegner krageben-notationen, som Mermaid bruger (se forklaringen i trin 4).
Notationer: Chen-notation bruger diamanter til relationer og ellipser til attributter; krageben-notation (den, der tegnes her) samler en entitet i én boks med dens attributter opført inde i den og markerer den mange-ende af en linje med en tre-tandet “krageben”; UML-klassediagrammer beskriver den samme struktur med klasser, operationer og multipliciteter. Alle tre siger det samme om skemaet — kun symbolerne er forskellige.
1 — Tabelskema (DDL)
2 — Entiteter
Tegn Tabel Kolonner Relationer Attributter
Ingen tabeller analyseret endnu.
3 — Relationer
Brug Barn (mange) Actions Forælder (én) Kilde Actions
Ingen relationer endnu.
Tilføj en relation i hånden:
→
4 — Diagram
Mermaid erDiagram-kilde
Sådan læses relationer: en fremmednøgle i børne-tabellen giver PARENT ||--o{ CHILD. Entiteter og attributter beholder deres DDL-navne, med tegn som Mermaid ikke kan tegne (mellemrum, bindestreger) vist som understregninger. Typer forenkles til deres grundord (DECIMAL(10,2) → DECIMAL), fordi diagramsyntaksen ikke tager parametre.
Kardinalitetssymboler (krageben): markeringen ved siden af en entitet siger, hvor mange rækker der må stå i den ende af linjen — || præcis én, o| nul eller én, o{ nul eller mange, |{ én eller mange. Så PARENT ||--o{ CHILD læses som “én forældrerække kan refereres af nul, én eller mange børnerækker, og hver børnerække peger på præcis én forælder” — den klassiske en-til-mange-relation.
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.