實體圖
實體圖展示資料庫中的表,以及表中各行之間的關係。它以 entity 及其標題開頭。
entity A small shop
Customer
id: number [key]
name: text
email: text [unique]
Order
id: number [key]
customer: number [ref]
placed: date
Product
id: number [key]
title: text
price: number
Line
order: number [key, ref]
product: number [key, ref]
quantity: number
Customer 1-* Order: places
Order 1-1..* Line: holds
Product 1-* Line: appears in

設定
| 設定 | 別名 | 值 |
|---|---|---|
direction |
flow, orientation, layout, rankdir |
down(預設)、right、up 或 left |
實體和屬性
實體名單獨寫在一行上,其屬性縮排寫在它的下方。屬性由一個名稱、一個冒號和一個型別組成,之後是方括號中的鍵:
| 鍵 | 別名 | 顯示為 |
|---|---|---|
key |
pk, primary, primary key, id |
PK,且名稱帶底線 |
ref |
fk, foreign, foreign key, reference |
FK |
unique |
uk |
UK |
id number —— 名稱和型別之間沒有冒號 —— 也能讀取。寫在實體之外的“名稱、冒號和型別”會被指出:它應該縮排寫在某個實體下方。
關係
關係是一條兩端各帶一個計數的連線,以鴉腳符號繪製:Customer 1-* Order: places。每一端是以下四種之一:
| 計數 | 別名 | 含義 |
|---|---|---|
1 |
恰好一個 | |
0..1 |
零個或一個 | |
1..* |
1..n |
一個或多個 |
* |
0..*, 0..n, n, many |
任意數量 |
兩端之間用一個、兩個或三個短橫線相連,標籤寫在冒號之後。Mermaid 用字元畫出的鴉腳符號也能讀取:||--o{ 表示一對任意數量,|o--|{ 表示零或一對一或多個;用兩個點代替短橫線 —— }|..|| —— 會把連線畫成虛線,表示非標識關係。任何一端都不可能出現的計數,例如 2-*,會被指出。
普通箭頭在實體之間繪製普通連線。
分組和註解
group Name 會為縮排在其下方的實體加上邊框。note Entity: what to say 會在某個實體旁邊放置一條註解。