如何從資料庫 schema 快速生成 ERD 文件

使用 StarUML

卡米哥
4 min readJun 12, 2020

大家好,我是卡米哥,LINE 官方認證的 API 專家,LINE API Expert。目前在維護知名 Node.js 聊天機器人框架 Bottender

今天要來教大家如何快速生成 ERD (Entity-Relationship Diagram)文件。ERD 是以圖像化呈現資料表之間關聯的一種圖表,在做資料庫系統設計時、或在嘗試理解一個既有的資料庫時會用到。

繪圖工具 — StarUML

StarUML 是專門用來畫 UML (Unified Modeling Language) 的付費軟體,而 ERD 是屬於 UML 當中的一種圖,除了 ERD 之外 UML 還有各式各樣用來描述系統的圖表,這裡就不一一介紹了。

StarUML 可以安裝各種 Extensions 來強化功能,而其中有一個 Extension 叫做「Entity Relationship DataModel Generation」,它的功能是從資料庫生成 ERD。

安裝 StarUML Extension

安裝 Extension 的方法很簡單,在 StarUML 的主選單上選擇 Tools > Extension Manager… 就會看到:

在搜尋框輸入 Entity 後就會看到只剩下我們想要安裝的 Extension。

此時點選安裝後即可完成安裝。

設定來源資料庫

本次使用 postgresql 作為示範,在 StarUML 的主選單上選擇 Tools > Database > PostgreSQL Server > Configure Server…

在這裡可以設定 Username、Password、Server IP、Database Schema 等資訊,我這裡的示範是連接到本機上的 kamigo_test 資料庫,都設定好了之後就可以關閉此畫面。

生成 ERD

在 StarUML 的主選單上選擇 Tools > Database > PostgreSQL Server > Generate ER Data Model…

生成了一個名為 kamigo_test.public 的 Data Model,展開後可以看見一整排的資料表。

在 Data Model 身上點右鍵,選擇 Add Diagram > ER Diagram 即可生成空白的 ER Diagram。

接著把我們想要關注的 Entity 一個個拖曳到畫面上:

在資料庫上有關聯的部分會自動生成線條,不用自己拉線。

匯出圖表

我覺得 StarUML 最棒的部分是他可以匯出圖片和網頁。在 StarUML 的主選單上選擇 File > Export > HTML Docs… 即可匯出網頁到指定資料夾。

效果如下:

你可以在這裡看到所有資料表的欄位以及所有圖表,這就是一份完整的、工程師們所需要的 ERD 文件。

一份 ERD 文件在幾分鐘內即可完成,還不拍手嗎

--

--