ErdDocs

ER 圖範例

資料庫課最常出現的系統,每一個都附上能直接執行的 SQL。每個頁面的 ER 圖與資料字典都免費完整顯示,SQL 也可以複製。

第一次接觸這套表示法?複製之前,先看 ER 圖 頁面,了解方框與線端代表什麼。

這些範例會以英文頁面開啟。最上面的三個已翻成中文。

複製之前常見的問題

資料庫結構主要有哪幾種?

常聽到的有四種:平面式(一張資料表,沒有關聯)、階層式(嚴格的父子樹狀結構)、網狀式(一筆紀錄可以有多個父節點)與關聯式(以鍵連接的資料表)。下面的範例都是關聯式,因為 PostgreSQL、MySQL、SQL Server 與 SQLite 都是。其他三種大多已是歷史,或是用來描述根本不以資料表構成的文件資料庫與圖資料庫。

這些結構可以用在我自己的專案或作業裡嗎?

可以。每個頁面都有完整的 SQL,在 PostgreSQL 上照原樣就能執行。它們是教學用的結構,不是正式環境用的。每一份都小到可以一次讀完。每一份都圍繞一個值得模仿、或值得反駁的設計決策,而在作業裡,反駁也一樣有用。

要怎麼把範例換成我自己資料庫的圖?

把 SQL 換掉。用 pg_dump --schema-only 或 mysqldump --no-data 匯出你的結構,貼上去覆蓋範例。你也可以貼上 Prisma 結構、DBML、Mermaid、PlantUML,或 Django、SQLAlchemy、Sequelize、TypeORM 的 model。格式會依貼上的內容判斷。不會上傳任何東西,解析在你的瀏覽器裡進行。

應該從哪個範例開始?

想用五個資料表看遍所有關聯類型,就從部落格結構開始。需要帶有自己資料的中介資料表,就選電子商務。如果你的問題其實和時間有關,就選飯店或圖書館的結構。訂房、借閱與空位狀態,正是初學者最常把查詢設計成欄位的地方。如果是 SQL 課會遇到的資料庫,就從 Northwind 或 Chinook 開始。想看像真實公司的結構,就選 AdventureWorks。

手上有自己的結構嗎?貼到首頁就好,同一個工具,畫的是你的資料表。可列印的參考文件,請用資料字典產生器。