幹掉 PowerDesigner!這款國人開源的資料庫設計工具真香!

macrozheng發表於2021-11-23
當我們在專案開發初期時,往往需要設計大量的表,此時使用資料庫設計工具就會比較高效!今天給大家推薦一款國人開源的資料庫設計工具chiner,介面漂亮,功能強大,希望對大家有所幫助!

SpringBoot實戰電商專案mall(50k+star)地址:https://github.com/macrozheng/mall

聊聊PowerDesigner

之前mall專案就是使用PowerDesigner來設計資料庫的,感覺這款工具介面有點古老,有時候用起來也比較重,來看下之前使用它設計資料庫的效果。

最近體驗了一把chiner,設計資料庫確實很方便,介面也漂亮,讓我們來看下使用它設計資料庫的效果,果然是一款輕量級、現代化的資料庫設計工具!

chiner簡介

chiner是一款支援多種資料庫,獨立於具體資料庫之外的資料庫關係模型設計工具,使用React+Electron+Java技術棧實現。

chiner的發展歷程比較坎坷,專案作者都把它的發展歷程放在的README最顯眼的位置上,可見開發一款好用的開源工具有多麼不容易!我們來看下它的發展歷程。

安裝

chiner是一款跨平臺的資料庫設計工具,支援Windows、Mac、Linux,下面我們來安裝下。

  • 下載完成後解壓到指定目錄,雙擊exe執行程式即可開啟;

  • 開啟介面後,可以發現非常貼心地提供了操作手冊參考模板

基本使用

作為一款資料庫設計工具,chiner的功能還是挺強大的,下面我們通過官方提供的電商參考模板,來體驗下它的基本功能。

基本概念

  • 由於chiner需要支援多種資料庫,還要能生成實體類程式碼,所以就有了資料型別這個概念,用於對映chiner中的資料型別到各種資料庫和程式碼中,比如我們來看下字串這個資料型別;

  • 記得我們使用其他工具設計資料庫時,設定字元經常需要設定長度、設定金額需要設定長度及小數位數,在chiner中只要設定好資料域,就能自動生成,我們來看下資料域;

  • 這裡需要注意的是資料域需要繫結資料型別

  • 對於一些欄位的列舉型別,chiner也提供了資料字典功能,比如我們可以設定使用者狀態0->凍結1->正常

資料表管理

  • 在設計資料庫時,往往會有一些公用欄位,比如建立時間建立人更新時間更新人這類欄位,使用chiner可以自動生成,點選設定->新建表預設欄位即可;

  • 接下來我們新增一張測試表,就可以發現公共欄位已經被全部新增了;

  • 細心的朋友可以發現目前欄位都是設定的大寫,我們習慣了小寫這麼辦,選中欄位程式碼,點選大小寫按鈕即可一鍵轉換;

  • 在我們新增欄位的時候,只要直接選擇資料域,即可自動設定資料型別和長度,比如常用的主鍵、名稱、字串等,非常方便;

  • 當然我們也可以直接選擇資料字典,選擇完後也可以直接檢視資料字典。

關係圖管理

  • 使用chiner建立關係圖也是比較方便的,點選新增關係圖然後選擇連線物件為欄位即可;

  • 接下來把資料庫表拖拽到關係圖中即可;

  • 連線有關係的欄位即可建立連線,右鍵連線可以編輯關係;

  • 來張完整的關係圖看看,效果還是不錯的,操作也很方便;

  • 之前使用PowerDesigner是可以直接使用外來鍵來生成關係圖的,而chiner是不支援的,不過在阿里巴巴Java開發手冊中提過不得使用外來鍵,既然不使用外來鍵了,把關係從資料庫抽離到設計工具裡面去,也是可以理解的。

匯入匯出使用

chiner還支援資料庫逆向解析、匯入PowerDesigner檔案、匯出DDL指令碼及Word文件,下面我們來體驗下。
  • 從資料庫匯入前,我們需要先配置好資料庫連線資訊;

  • 然後選擇從資料庫匯入;

  • 之後選擇好需要匯入的表即可;

  • 當然chiner也是支援從PowerDesigner檔案匯入的;

  • 當我們設計好資料庫之後,就可以使用chiner的匯出DDL功能,來將表同步到資料庫中了;

  • 有時候可能需要資料庫說明文件,直接使用chiner的匯出Word文件功能即可,無需手寫。

總結

chiner確實是一款介面美觀、功能強大的資料庫設計工具。比起PowerDesigner來,更加輕量級、介面也高大上的多。感覺唯一不足的地方就是不能通過外來鍵生成關係圖,對於一些使用外來鍵的專案就比較麻煩了。

參考資料

本文 GitHub https://github.com/macrozheng/mall-learning 已經收錄,歡迎大家Star!

相關文章