Bir ya da daha fazla CREATE TABLE ifadesi yapıştırın ve bu araç şemayı çizer: her tablo bir varlık olur, sütunlar PK / FK ile etiketlenmiş öznitelikler olur ve FOREIGN KEY kısıtları ilişki çizgileri olur. Bir şema hiç yabancı anahtar bildirmiyorsa, customer_id gibi sütunlar tutabileceğiniz ya da bırakabileceğiniz çıkarılmış ilişkiler olarak önerilir. Mermaid erDiagram kaynağını kopyalayın ya da diyagramı SVG / PNG olarak dışa aktarın. Her şey yerel olarak çalışır — hiçbir şema tarayıcınızdan asla çıkmaz.
ERD nedir? ERD, Varlık İlişki Diyagramı anlamına gelir — bir veritabanının nasıl düzenlendiğinin resmidir. Üç tür şekilden çizilir: varlıklar (tablolar, kutu olarak çizilir), öznitelikler (bir kutunun içinde listelenen sütunlar) ve ilişkiler (iki kutuyu birleştiren çizgiler). Teknik, Peter Chen’in 1976 varlık-ilişki modelinden gelir ve hâlâ herhangi bir DDL yazmadan önce bir şemayı taslaklamanın olağan yoludur: iyi bir ERD, hangi tabloların var olduğunu, her satırın neyi sakladığını ve bir tablodaki bir satırın diğerindeki bir satıra nasıl işaret ettiğini bir bakışta gösterir — SQL okumak istemeyen insanlar tarafından da okunabilir.
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.
Kardinalite — bir çizginin her ucunda kaç satıra izin verildiği: bire-bir, bire-çok ya da çoka-çok. Bu sayfa Mermaid'in kullandığı karga ayağı gösterimini çizer (4. adımdaki açıklamaya bakın).
Gösterimler: Chen gösterimi ilişkiler için elmasları ve öznitelikler için elipsleri kullanır; karga ayağı gösterimi (burada çizilen) bir varlığı öznitelikleri içinde listelenmiş tek bir kutuya sıkıştırır ve çizginin çok ucunu üç dişli bir “karga ayağı” ile işaretler; UML sınıf diyagramları aynı yapıyı sınıflar, işlemler ve çokluklarla tanımlar. Üçü de şema hakkında aynı şeyi söyler — yalnızca semboller farklıdır.
1 — Tablo şeması (DDL)
2 — Varlıklar
Çiz
Tablo
Sütunlar
İlişkiler
Öznitelikler
Henüz tablo ayrıştırılmadı.
3 — İlişkiler
Kullan
Çocuk (çok)
Actions
Ebeveyn (bir)
Kaynak
Actions
Henüz ilişki yok.
Bir ilişkiyi elle ekleyin:
→
4 — Diyagram
Mermaid erDiagram kaynağı
İlişkiler nasıl okunur:çocuk tablosundaki bir yabancı anahtar PARENT ||--o{ CHILD üretir. Varlıklar ve öznitelikler DDL adlarını korur; Mermaid'in çizemeyeceği karakterler (boşluklar, tireler) alt çizgi olarak gösterilir. Türler temel sözcüklerine indirgenir (DECIMAL(10,2) → DECIMAL), çünkü diyagram sözdizimi parametre almaz.
Kardinalite sembolleri (karga ayağı): bir varlığın yanındaki işaret, çizginin o ucunda kaç satırın bulunabileceğini söyler — || tam olarak bir, o| sıfır ya da bir, o{ sıfır ya da çok, |{ bir ya da çok. Dolayısıyla PARENT ||--o{ CHILD şöyle okunur: “bir ebeveyn satırına sıfır, bir ya da çok çocuk satırı başvurabilir ve her çocuk satırı tam olarak bir ebeveyne işaret eder” — klasik bire-çok bağlantısı.
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.