SQL zu ERD

Fügen Sie eine oder mehrere CREATE TABLE-Anweisungen ein, und dieses Werkzeug zeichnet das Schema: Jede Tabelle wird zu einer Entität, Spalten werden zu Attributen mit PK- bzw. FK-Markierung, und FOREIGN KEY-Constraints werden zu Beziehungslinien. Deklariert ein Schema keine Fremdschlüssel, werden Spalten wie customer_id als abgeleitete Beziehungen angeboten, die Sie behalten oder verwerfen können. Kopieren Sie den Mermaid-erDiagram-Quelltext oder exportieren Sie das Diagramm als SVG / PNG. Alles läuft lokal — kein Schema verlässt Ihren Browser.
Was ist ein ERD? ERD steht für Entity-Relationship-Diagramm — ein Bild davon, wie eine Datenbank aufgebaut ist. Es besteht aus drei Arten von Formen: Entitäten (die Tabellen, als Kästen gezeichnet), Attribute (die Spalten innerhalb eines Kastens) und Beziehungen (die Linien, die zwei Kästen verbinden). Die Technik stammt von Peter Chens Entity-Relationship-Modell aus dem Jahr 1976 und ist noch immer die übliche Art, ein Schema zu skizzieren, bevor man DDL schreibt. Ein gutes ERD zeigt auf einen Blick, welche Tabellen es gibt, was jede Zeile speichert und wie eine Zeile in einer Tabelle auf eine Zeile in einer anderen verweist — lesbar auch ohne SQL-Kenntnisse.
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.
Kardinalität — wie viele Zeilen an jedem Ende einer Linie erlaubt sind: eins-zu-eins, eins-zu-viele oder viele-zu-viele. Diese Seite zeichnet die Krähenfuß-Notation, die Mermaid verwendet (siehe Legende in Schritt 4).
Notationen: Die Chen-Notation verwendet Rauten für Beziehungen und Ellipsen für Attribute. Die Krähenfuß-Notation (die hier verwendet wird) fasst eine Entität in einem einzigen Kasten zusammen, listet ihre Attribute darin auf und markiert das Viele-Ende einer Linie mit einem dreizackigen „Krähenfuß“. UML-Klassendiagramme beschreiben dieselbe Struktur mit Klassen, Operationen und Multiplizitäten. Alle drei sagen über das Schema dasselbe aus — nur die Symbole unterscheiden sich.
1 — Tabellenschema (DDL)
2 — Entitäten
Zeichnen Tabelle Spalten Beziehungen Attribute
Noch keine Tabellen analysiert.
3 — Beziehungen
Verwenden Kind (viele) Actions Eltern (eins) Quelle Actions
Noch keine Beziehungen.
Eine Beziehung manuell hinzufügen:
→
4 — Diagramm
Mermaid-erDiagram-Quelltext
So werden Beziehungen gelesen: Ein Fremdschlüssel in der Kind-Tabelle erzeugt PARENT ||--o{ CHILD. Entitäten und Attribute behalten ihre DDL-Namen; Zeichen, die Mermaid nicht darstellen kann (Leerzeichen, Bindestriche), werden als Unterstriche angezeigt. Typen werden auf ihr Grundwort vereinfacht (DECIMAL(10,2) → DECIMAL), weil die Diagrammsyntax keine Parameter akzeptiert.
Kardinalitätssymbole (Krähenfuß): Das Symbol neben einer Entität gibt an, wie viele Zeilen an diesem Ende der Linie stehen dürfen — || genau eine, o| null oder eine, o{ null oder viele, |{ eine oder viele. PARENT ||--o{ CHILD bedeutet also: „Eine Elternzeile kann von null, einer oder vielen Kindzeilen referenziert werden, und jede Kindzeile verweist auf genau eine Elternzeile“ — die klassische 1:n-Beziehung.
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.