Liitä yksi tai useampi CREATE TABLE -lause, ja tämä työkalu piirtää skeeman: jokainen taulu muuttuu olioksi, sarakkeet muuttuvat attribuuteiksi merkittyinä PK / FK, ja FOREIGN KEY -rajoitteet muuttuvat suhdeviivoiksi. Kun skeema ei ilmoita vierasavaimia, sarakkeet kuten customer_id tarjotaan päätellyinä suhteina, jotka voi pitää tai poistaa. Kopioi Mermaid erDiagram -lähdekoodi tai vie kaavio SVG / PNG-muodossa. Kaikki toimii paikallisesti — skeemaa ei lähetetä selaimesta minnekään.
Mikä ERD on? ERD tarkoittaa olio-suhdekaaviota — kuvaa siitä, miten tietokanta on järjestetty. Se piirretään kolmenlaisista muodoista: oliot (taulut, piirretty laatikoina), attribuutit (laatikon sisään listatut sarakkeet) ja suhteet (laatikoita yhdistävät viivat). Tekniikka tulee Peter Chenin vuoden 1976 olio-suhdemallista, ja se on yhä tavallinen tapa hahmotella skeema ennen minkään DDL:n kirjoittamista: hyvä ERD näyttää yhdellä silmäyksellä, mitkä taulut ovat olemassa, mitä kukin rivi tallentaa ja miten yhden taulun rivi osoittaa toisen taulun riviin — luettavissa ihmisille, jotka eivät halua lukea 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.
Kardinaalisuus — kuinka monta riviä saa olla viivan kummassakin päässä: yksi-yhteen, yksi-moneen vai moni-moneen. Tämä sivu piirtää Mermaidin käyttämän korppikotka-jalka -merkinnän (katso selitys vaiheessa 4).
Merkinnät: Chen-merkinnässä suhteet ovat timantteja ja attribuutit soikioita; korppikotka-jalka -merkintä (jota tässä piirretään) tiivistää olion yhdeksi laatikoksi, jonka sisällä attribuutit luetellaan, ja merkitsee viivan monen pään kolmihaaraisella "korpin jalalla"; UML-luokkakaaviot kuvaavat saman rakenteen luokilla, operaatioilla ja moninaisuuksilla. Kaikki kolme kertovat skeemasta saman asian — vain symbolit eroavat.
1 — Taulukkoskeema (DDL)
2 — Oliot
Piirrä
Taulukko
Sarakkeet
Suhteet
Attribuutit
Ei vielä jäsennettyjä tauluja.
3 — Suhteet
Käyttö
Lapsi (moni)
Actions
Vanhempi (yksi)
Lähde
Actions
Ei vielä suhteita.
Lisää suhde käsin:
→
4 — Kaavio
Mermaid erDiagram -lähdekoodi
Miten suhteet luetaan:lapsitaulun vierasavain tuottaa muodon PARENT ||--o{ CHILD. Oliot ja attribuutit säilyttävät DDL-nimensä; merkit, joita Mermaid ei voi piirtää (välilyönnit, väliviivat), näytetään alaviivoina. Tyypit yksinkertaistetaan perussanoiksi (DECIMAL(10,2) → DECIMAL), koska kaaviosyntaksi ei hyväksy parametreja.
Kardinaalisuussymbolit (korppikotka-jalka): olion vieressä oleva merkki kertoo, kuinka monta riviä saa olla viivan tuossa päässä — || tasan yksi, o| nolla tai yksi, o{ nolla tai useampi, |{ yksi tai useampi. Joten PARENT ||--o{ CHILD luetaan "yhteen vanhempirivin voi viitata nolla, yksi tai useampi lapsirivi, ja jokainen lapsirivi osoittaa tasan yhteen vanhempaan" — klassinen yksi-moneen-yhteys.
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.