你知道如何使用 Mermaid 繪製 ER 圖嗎?Mermaid 是一個可以使用類似 Markdown 的簡單符號來繪製各種圖表的工具。特別是透過 Mermaid 建立 ER 圖(實體關係圖),您可以輕鬆地將複雜的資料庫結構視覺化,但您必須了解如何編寫它們。在本文中,我們將說明如何使用 Mermaid 繪製 ER 圖。
ER 圖結構
ER 圖在資料庫設計中扮演著非常重要的角色。ER 圖的基本元素包括實體(表格)、實體之間的關係,以及每個實體的屬性(欄位)。實體代表資料庫中的重要物件;每個實體都有其屬性(欄位)。實體之間的關係顯示表格之間的連結,通常以線條表示。

在 Mermaid 中編寫 ER 圖的方法是首先按原樣表達這個基本結構。Mermaid 允許您使用特定語法描述實體、屬性和關係。具體來說,您可以在 Mermaid 中輕鬆表達使用者表格、產品表格以及它們之間的關係。
例如,您可以使用 Mermaid 語法定義稱為「User」和「Order」的實體,並描述每個實體的屬性。然後,您可以繪製一條線來顯示使用者管理他們的訂單。這使得更容易從視覺上理解資料庫的組成部分及其關係。
如何使用 Mermaid 標記法建立 ER 圖
在本節中,我們將指導您使用 Mermaid 標記法建立 ER(實體關係)圖。我們將使用 Mermaid Live Editor,這是一個基於網頁的工具,您可以在其中編寫 Mermaid 程式碼並立即看到圖表。該語法在 Notion 和 VS Code 等工具中相同,使本指南對這些平台的使用者也很有用。
開始使用 Mermaid Live Editor
首先在瀏覽器中開啟Mermaid Live Editor。

該網站包含內建範例和語法指南。您也可以在左側的「範例圖表」部分找到 ER 圖範本。

ER 圖的基本語法
Mermaid 使用關鍵字 erDiagram 支援 ER 圖。以下是基本結構:
erDiagram CUSTOMER ||--o{ ORDER : placesORDER ||--|{ LINE_ITEM : containsCUSTOMER }|..|{ DELIVERY_ADDRESS : uses
語法說明:
- ||--o{表示一對多關係。
- }|..|{表示多對多關係。
- :引入關係標籤。
在即時編輯器中,當您輸入此程式碼時,視覺化圖表會即時出現在右側面板中。

定義實體和屬性
實體及其欄位(屬性)可以如下定義:
erDiagramCUSTOMER {string namestring emailint customer_id}ORDER {int order_iddate order_dayfloat amount}
語法細節:
- 每個實體都有一個名稱和一組欄位定義。
- 欄位可以是資料類型,例如 string、int、float 或 date。
- 您可以為每個實體添加所需數量的屬性,以正確表示您的資料庫架構。

建立實體之間的關係
實體之間的關係在定義實體之後進行描述。例如:
erDiagramCUSTOMER ||--o{ ORDER : placesORDER ||--|{ LINE_ITEM : includesPRODUCT ||--o{ LINE_ITEM : listed_in
此範例建立:
- 從 CUSTOMER 到 ORDER 的一對多關係。
- 從 LINE_ITEM 到 PRODUCT 的多對一關係。
冒號(:)後面的標籤有助於釐清關係。

樣式和主題
Mermaid 的 ER 圖樣式是基本的。您仍然可以使用 %%{init: ... }%% 指令套用主題。
%%{init: {'theme': 'forest'}}%%erDiagramUSER ||--o{ LOGIN : uses
此行將整個圖表的外觀更改為「forest」主題。

使用 AI 生成 ER 圖
如果您不熟悉語法,您仍然可以使用 ChatGPT 或 Claude 等 AI 聊天機器人製作 ER 圖。
步驟 1:向 AI 詢問您的資料庫架構:「建立一個包含使用者、產品和訂單實體的 Mermaid ER 圖。」

步驟 2:複製它生成的程式碼。
步驟 3:將其貼上到 Mermaid Live Editor 中以查看圖表。

步驟 4:在編輯器中編輯程式碼或要求 AI 進行修訂。
使用 Mermaid 標記法以及 Mermaid Live Editor 和 AI 支援等工具,使建立 ER 圖變得快速、簡單且對初學者來說易於上手。
使用 Mermaid 繪製 ER 圖的範例
現在讓我們應用到目前為止所學到的內容,並透過一個使用 Mermaid 標記法建立 ER 圖的實際範例來進行演練。
識別所需的實體和關係
在深入研究程式碼之前,先釐清您想在 ER 圖中表示的資訊會很有幫助。在空白紙張或文字編輯器上,列出您的實體(表格)、屬性(欄位)以及它們之間的關係。

在此範例中,我們將建立一個簡單的電子商務系統模型,其中包含兩個主要實體:USER 和 ORDER。
根據架構編寫 Mermaid 程式碼
一旦您概述了結構,就將資訊轉換為 Mermaid 語法。從圖表類型(erDiagram)開始,接著是實體定義及其屬性。然後,定義關係。
erDiagram USER { int idstring namestring email }ORDER {int idint user_idstring productfloat price }USER ||--o{ ORDER: places
在此 Mermaid 程式碼中:
- USER 表示一個使用者表格,包含三個欄位:id、name 和 email。
- ORDER 表示一個訂單表格,包含一個 id、一個外鍵 user_id,以及訂單詳細資料,例如 product 和 price。
- USER ||--o{ ORDER : places 這一行定義了一對多關係,意味著一個使用者可以下多個訂單。
這個簡單的語法讓您可以清楚地定義資料庫的結構和邏輯。
步驟 1將程式碼貼上到 Mermaid 編輯器中
接下來,在瀏覽器中開啟 Mermaid Live Editor,並將程式碼貼上到左側面板中。ER 圖將自動在右側呈現。

步驟 2檢視和完善您的圖表
從視覺上檢查圖表。如果有些地方看起來不對,或者您想調整命名、關係或格式,只需編輯程式碼,就能看到結果即時更新。
這種即時回饋使您可以輕鬆地調整和試驗圖表的版面配置和結構。
步驟 3儲存或匯出您的圖表
一旦您對圖表感到滿意,就可以將其下載為圖片或複製程式碼用於文件目的。這對於在專案報告、簡報或程式碼儲存庫中包含資料庫設計很有用。
Mermaid 對於簡單的 ER 圖來說已經足夠,但它仍然存在一些不足,例如以下幾點:
- 學習曲線:理解和記憶語法需要一點練習。
- 複雜性處理:它不太適合具有數十個表格和巢狀關係的高度複雜架構。
- 自訂:與更進階的工具相比,Mermaid 僅提供有限的樣式和格式選項。
考慮到這些要點,您可以根據需求考慮其他工具。我們將在下面介紹一些實用的工具。
使用範本建立 ER 圖
EdrawMax 是一個方便的工具,可讓您輕鬆建立 ER 圖。與第 3 部分介紹的使用 Mermaid 標記法建立 ER 圖的方法不同,EdrawMax 可讓您透過拖放操作直觀地繪製圖表。步驟如下:

步驟 1啟動 EdrawMax
首先,啟動 EdrawMax 並建立一個新專案。然後,從工具列中選擇「資料庫圖表」,並選擇 ER 圖範本。

步驟 2編輯
範本開啟後,從左側的資料庫拖放實體和關係符號到畫布上。

步驟 3自訂
要自訂實體,您可以雙擊它以新增屬性和主鍵。關係也可以透過簡單地選擇一條線並設定屬性來建立。這樣,EdrawMax 使 ER 圖的建立非常順暢和高效。
使用 EdrawMax 的好處
EdrawMax 有許多優點。首先,它直觀且易於使用。您可以僅透過拖放操作輕鬆建立 ER 圖和其他圖表。特別吸引人的是,即使是沒有技術技能的人也可以立即使用它。
此外,廣泛的範本和符號庫允許您在短時間內建立各種圖表,這可以大大提高專案的效率。

此外,其強大的雲端整合使與團隊協作變得容易。專案成員可以即時編輯和更新圖表,促進順暢的溝通。
最後,高度的可自訂性也是一個主要優勢。您可以以類似 PowerPoint 的方式更改 ER 圖的顏色和線條,而不是使用程式碼,因此您可以建立更清晰的 ER 圖。請嘗試從下面的按鈕下載免費版本!
總結
我介紹了如何使用 Mermaid 語法編寫 ER 圖。透過使用 Mermaid,您可以以類似 Markdown 的方式輕鬆建立複雜的 ER 圖和序列圖。這對於資料庫設計和基本設計非常有用。特別是,它使實體之間的關係更容易視覺化,這將有助於您與團隊成員更有效地溝通。
此外,使用 EdrawMax 等工具使過程更加高效。它允許您透過拖放輕鬆建立 ER 圖,因此即使是初學者也可以直觀地操作它,這樣可以節省時間並減少錯誤。