當我們在專案開發初期時,往往需要設計大量的表,此時使用資料庫設計工具就會比較高效!今天給大家推薦一款國人開源的資料庫設計工具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,下面我們來安裝下。
- 我們下載安裝包時需要注意,使用右鍵,選擇
連結另存為
進行下載,下載地址:https://gitee.com/robergroup/...
- 下載完成後解壓到指定目錄,雙擊
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!