最近在造輪子,從 0 到 1 的那種,就差前臺的介面了,大家可以耐心耐心耐心期待一下。其中需要設計一些資料庫表,可以通過 Navicat 這種圖形化管理工具直接開搞,也可以通過一些資料庫設計工具來搞,比如說 PowerDesigner,更專業一點。
今天我給大家推薦的這款國人開源的資料庫設計工具 chiner,介面漂亮,功能強大,體驗後給我的感覺是真香……
![](https://i.iter01.com/images/589db9b90b895146cefbae00f725462973c2feed0cff636fa58161058fbc8000.png)
一、 關於 PowerDesigner
PowerDesigner 是一款功能非常強大的建模工具,可以和 Rational Rose 媲美。Rose 專攻 UML 物件模型的建模,之後才擴充到資料庫這塊。而 PowerDesigner 是一開始就為資料庫建模服務的,後來才發展為一款綜合戰鬥力都還不錯的建模工具。
不過,說句實在話,PowerDesigner 的介面偏古典一些,下面是我用 PowerDesigner 設計 DB 的效果。
![](https://i.iter01.com/images/74a760cee531c29f23c381bc847eef7ab01b02c2cb2cf64cbaa6b116215bf912.png)
二、關於 chiner
chiner,發音:[kaɪˈnər],使用React+Electron+Java技術體系構建的一款元數建模平臺。
2018 年,作者和幾個對開源有興趣的社群好友開始打磨產品的原因,歷經三代,直到 2021 年 7 月份,終於推出了船新的 3.0 版本。
2019 年底,團隊差點解散,幸好有幾位好友關照,給了團隊兩個專案做,這才算是熬了過去。
不得不說,做任何一件事情都不容易啊,光靠情懷也許可以撐過產品初期,但越往後去,遇到生存問題時,就會非常困難。
在此,我們必須得為每一位開源作者奉上最真誠的掌聲,希望他們的產品都能有一番天地。也希望,未來我的產品出現在大家的面前時,能給它多一點點包容和支援。
![](https://i.iter01.com/images/70e91482188609bb00a8a97200c008963b948e398af40d27a2c56f5a00db71f3.gif)
三、安裝 chiner
chiner 支援 Windows、macOS 和 Linux,下載地址如下所示:
https://gitee.com/robergroup/chiner/releases
碼雲做了外部連結的攔截,導致直接複製連結到位址列才能完成下載。我這裡以 macOS 為例。
![](https://i.iter01.com/images/5e23082b88392b5bf68de3469a162a6ca9f9c47088e512c19b5bdd73aed9d88e.png)
安裝完成後首次開啟的樣子是這樣的。
![](https://i.iter01.com/images/78d7bb28a434e0832c477e2b904b6b3b3a458668eb6b82cd06319b2bd9e64e49.png)
chiner 提供了非常貼心的操作手冊和參考模板,如果時間比較充分的話,可以先把操作手冊過一遍,寫得非常詳細。
![](https://i.iter01.com/images/c145b904e4b3385c1a15ee1678941059213a25fe9525c42b3298cfaf8b37fcda.png)
四、上手 chiner
01、匯入匯出
因為我之前有一份 PowerDesigner 檔案,所以可以直接匯入到 chiner。
第一步,新建一個專案 codingmore。
第二步,選擇匯入 PowerDesigner 檔案。
![](https://i.iter01.com/images/6e3237c48cadfcbb992c4edaf65aa227adc48c17e7e5496d0b3f4b939c734409.png)
第三步,選擇要新增的資料表。
![](https://i.iter01.com/images/4db53b8e8212d5ebf628b20263d5d903886e504b49c8db627bd4697e6246eb55.png)
第四步,匯入完成後,就可以點開單表進行檢視了。
![](https://i.iter01.com/images/54a9c054e5f517c5eda96507bca1ff8581ab7646cea78de93c153ded8a17d550.png)
第五步,當完成重新設計後,就可以選擇匯出 DDL 到資料庫表了。
![](https://i.iter01.com/images/d351065b1657198c61e4d9a79e7f2903ad05e28e453855bc00a9f8e0d6726497.png)
當然了,也可以直接配置資料庫 DB,這樣就可以直接連線匯入匯出了。
![](https://i.iter01.com/images/2cc67f82ec5967d330312283118e97bd597761f00e8c33b603204bbaf0311e37.png)
匯出的 SQL 檔案可以直接通過寶塔皮膚上傳到伺服器端,然後再直接匯入到資料庫。
![](https://i.iter01.com/images/b25227129eb28e582d1b726d24d6e5af2e4021effd62c491b76a20f386072053.png)
如果需要用到資料庫說明文件的話,也可以直接通過匯出到 Word 文件來完成。
![](https://i.iter01.com/images/80b16eb80375402bed2cdc24862b0e3251fc1ddc89b49ece525ac143e910c761.png)
02、維護資料型別
chiner 自帶了幾種常見的資料型別,比如字串、小數、日期等,我們也可以根據自己的需要新增新的資料型別。
比如說預設的字串型別關聯到其他資料庫的型別如下所示:
![](https://i.iter01.com/images/9b277cec367b4545970f9fc0e770f7bf4e629c87b1644ac1a5d18c81be357d45.png)
資料域是在資料型別的基礎上,基於當前專案定義的有一定業務含義的資料型別,比如說我這裡維護了一個長度為 90 的名稱資料域。
![](https://i.iter01.com/images/d76b0cf494f0deb675358ee889a5729d2e6d118f4112afeffac6b30829819e2b.png)
當我需要把某個資料欄位的資料域設定成「名稱」的時候,長度就會自動填充為 90,不需要手動再去設定。
![](https://i.iter01.com/images/c486d90b26397055a2661488dbe8f1c2b991c5df744e682e02866b6389a6563a.png)
03、維護資料表
第一步,選中資料表,右鍵選擇「新增資料表」
![](https://i.iter01.com/images/4cb244b239e751ac98e5980d86746b374e5fa977c049266b4737483966444e44.png)
第二步,填寫資料表名
![](https://i.iter01.com/images/b58f437b3fdbc944c4235636b8aacc9f372d06f6526dd26f2c6d2fa03d5ca5f8.png)
點選「確定」後,chiner 會幫我們自動生成一些常見常用的欄位,比如說建立人、建立時間、更新人、更新時間等,非常的智慧化。通常來說,這些欄位都是必須的。
![](https://i.iter01.com/images/37f21c5a08f8827d8bb3c15aa170cbae8c9dbcc1a873f77f18d081aeb02249ae.png)
如果這些預設欄位不滿足需求的時候,還可以點選「設定」新增預設欄位,比如說刪除標記,一般來說為了安全起見,資料庫都會採用非物理刪除。
![](https://i.iter01.com/images/f8d1b49b35614466965c9db1ba7057c771516c71d143cd6a1c9dd1f1dd8e2356.png)
一般來說,我們更習慣欄位小寫命名,因此可以直接選中一列,然後選擇大小寫轉換。
![](https://i.iter01.com/images/63275acaf1de34d2cd71e0036f4b65161824d46f25b20dca13614db1c791509b.png)
就變成小寫了。
![](https://i.iter01.com/images/a8c28b2905f05d33b1747785f3caaccfeb4b0308ab9916c34155333dd2759c88.png)
04、維護關係圖
第一步,選擇「關係圖」,右鍵選擇「新增關係圖」
第二步,把需要關聯的表拖拽到右側的皮膚當中,然後按照欄位進行連線,非常的方便。比如說班級和學院表、班級和專業表的關係,就如下圖所示。
![](https://i.iter01.com/images/c211c2f073e30cdc14f0f37097175edf3c7fa5daf0d3f58e211f53c193a0764d.png)
來看一下整體給出來的關係圖,還是非常清爽的。
![](https://i.iter01.com/images/b130779d180cdb9f672918eab98cc5903447db4935b8bbc0f91aef23efae3379.png)
五、尾聲
chiner 還有更多更強大的功能,大家覺得不錯的話,可以去嘗試一下。用的熟練的話,肯定能在很大程度上提高生產效率。
就我個人的使用體驗來說,chiner 比 PowerDesigner 更輕量級,也更符合日常的操作習慣,為國產開源點贊!
專案地址:
https://gitee.com/robergroup/chiner
使用手冊:
https://www.yuque.com/chiner/docs/manual
本篇已收錄至 GitHub 上星標 1.3k+ star 的開源專欄《Java 程式設計師進階之路》,該專欄風趣幽默、通俗易懂,對 Java 愛好者極度友好和舒適?,內容包括但不限於 Java 基礎、Java 集合框架、Java IO、Java 併發程式設計、Java 虛擬機器、Java 企業級開發(Git、SSM、Spring Boot)等核心知識點。
star 了這個倉庫就等於成為了一名更優秀的 Java 程式設計師。可以點選下面的連結跳轉過去 star 見證一下這個令人激動的時刻。
承諾出版社編輯老師,如果 star 數超過 1 萬就把這個專欄寫成書,哈哈哈?,我是口嗨了,接下來就看小夥伴們的,出不出書決定權交給大家了,我就負責把肝交出來,哈哈哈
![](https://i.iter01.com/images/1f3651b26560a0f887ba6bf441f3fde4385e76eaca6ba86d9481c98f16bbdb56.png)
我是沉默王二,沒有什麼使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不繫之舟。