干掉 PowerDesigner!这款国人开源的数据库设计工具真香!
共 2251字,需浏览 5分钟
·
2022-01-19 15:38
最近在造轮子,从 0 到 1 的那种,就差前台的界面了,大家可以耐心耐心耐心期待一下。其中需要设计一些数据库表,可以通过 Navicat 这种图形化管理工具直接开搞,也可以通过一些数据库设计工具来搞,比如说 PowerDesigner,更专业一点。
今天我给大家推荐的这款国人开源的数据库设计工具 chiner,界面漂亮,功能强大,体验后给我的感觉是真香......
![](https://filescdn.proginn.com/4867a59392e6a1702af8e7c000cd44c9/4dc230cd1291db4a663107343a24cb99.webp)
一、 关于 PowerDesigner
PowerDesigner 是一款功能非常强大的建模工具,可以和 Rational Rose 媲美。Rose 专攻 UML 对象模型的建模,之后才拓展到数据库这块。而 PowerDesigner 是一开始就为数据库建模服务的,后来才发展为一款综合战斗力都还不错的建模工具。
不过,说句实在话,PowerDesigner 的界面偏古典一些,下面是我用 PowerDesigner 设计 DB 的效果。
![](https://filescdn.proginn.com/ac77c33aac58a8510b19b938db50b6f3/cdfbecf2a71053ca1261ad5c2f689d01.webp)
二、关于 chiner
chiner,发音:[kaɪˈnər],使用React+Electron+Java技术体系构建的一款元数建模平台。
2018 年,作者和几个对开源有兴趣的社区好友开始打磨产品的原因,历经三代,直到 2021 年 7 月份,终于推出了船新的 3.0 版本。
2019 年底,团队差点解散,幸好有几位好友关照,给了团队两个项目做,这才算是熬了过去。
不得不说,做任何一件事情都不容易啊,光靠情怀也许可以撑过产品初期,但越往后去,遇到生存问题时,就会非常困难。
在此,我们必须得为每一位开源作者奉上最真诚的掌声,希望他们的产品都能有一番天地。也希望,未来我的产品出现在大家的面前时,能给它多一点点包容和支持。
![](https://filescdn.proginn.com/6601b2ebefd9180d5f14f1290b305a69/076cd1a176d5d5db02dd2758d3cc4602.webp)
三、安装 chiner
chiner 支持 Windows、macOS 和 Linux,下载地址如下所示:
https://gitee.com/robergroup/chiner/releases
码云做了外部链接的拦截,导致直接复制链接到地址栏才能完成下载。我这里以 macOS 为例。
![](https://filescdn.proginn.com/1c6cf54cfac457b6c2d118ac82a25ace/6458b1edc8b3588b7f58e748da99fca5.webp)
安装完成后首次打开的样子是这样的。
![](https://filescdn.proginn.com/aa98feb14f1005547de6ab1dd0bda991/f54cb632d90b5bed0f0c5dc5afcee489.webp)
chiner 提供了非常贴心的操作手册和参考模板,如果时间比较充分的话,可以先把操作手册过一遍,写得非常详细。
![](https://filescdn.proginn.com/349829b663f2c45d81a1e7c89843a846/0de7cbd9eda8993c5a37d2888e2972e9.webp)
四、上手 chiner
01、导入导出
因为我之前有一份 PowerDesigner 文件,所以可以直接导入到 chiner。
第一步,新建一个项目 codingmore。
第二步,选择导入 PowerDesigner 文件。
![](https://filescdn.proginn.com/7ef2bdd908e07f67ccfbef2b39e93f22/9fa32ae7507d49769911fc6d7c7ca0db.webp)
第三步,选择要添加的数据表。
![](https://filescdn.proginn.com/68b87ab41bab24e8f7b55bc1f8a49e79/e7dff8a0ef2ee0ca8ed5c34db9fac007.webp)
第四步,导入完成后,就可以点开单表进行查看了。
![](https://filescdn.proginn.com/88c7cdb93873afed92160ac32722340a/5e1f225379b5d7c7e6ec668a3b73c6cd.webp)
第五步,当完成重新设计后,就可以选择导出 DDL 到数据库表了。
![](https://filescdn.proginn.com/3cf8dfde131057c20d22804d86e63997/9de5181a4550137261ab1683a1377c5b.webp)
当然了,也可以直接配置数据库 DB,这样就可以直接连接导入导出了。
![](https://filescdn.proginn.com/82656be9b55e3c3d40d877cd3defed89/f1ab88869be1abb8f2b1b9db8446e0de.webp)
导出的 SQL 文件可以直接通过宝塔面板上传到服务器端,然后再直接导入到数据库。
![](https://filescdn.proginn.com/5cd7db98a6c619444c309e63bf43c447/0bbde7f26d9fdf4e68901af11088a6c5.webp)
如果需要用到数据库说明文档的话,也可以直接通过导出到 Word 文档来完成。
![](https://filescdn.proginn.com/32a6470eb43a92b2fb87c43fe3b2fac6/89b070323648ee078eac64eaa62374ae.webp)
02、维护数据类型
chiner 自带了几种常见的数据类型,比如字串、小数、日期等,我们也可以根据自己的需要添加新的数据类型。
比如说默认的字串类型关联到其他数据库的类型如下所示:
![](https://filescdn.proginn.com/ea270f260ee65cc225b4370cd1901677/6cdd93f196cede7f97245ed8b2faf489.webp)
数据域是在数据类型的基础上,基于当前项目定义的有一定业务含义的数据类型,比如说我这里维护了一个长度为 90 的名称数据域。
![](https://filescdn.proginn.com/8039094505279ba06c1d4cc2c4634867/479fff363fa5a2ce10f5e614f5ce90e8.webp)
当我需要把某个数据字段的数据域设置成「名称」的时候,长度就会自动填充为 90,不需要手动再去设置。
![](https://filescdn.proginn.com/843635809f96f550a780ff189ea9e991/46a0af0ef413ebb499204c4a990776b9.webp)
03、维护数据表
第一步,选中数据表,右键选择「新增数据表」
![](https://filescdn.proginn.com/7a7cf12167dc0765e3c72f7be9f5f721/d15750d87989de19bfb54421b73130a3.webp)
第二步,填写数据表名
![](https://filescdn.proginn.com/6a49537a3edc74a432a6288567031ced/ae5b414dcee649f97323fc423d37f14f.webp)
点击「确定」后,chiner 会帮我们自动生成一些常见常用的字段,比如说创建人、创建时间、更新人、更新时间等,非常的智能化。通常来说,这些字段都是必须的。
![](https://filescdn.proginn.com/245af126b1a159df2a028c462c97dcf8/e5403abd767dd03baa1395c69fef2276.webp)
如果这些默认字段不满足需求的时候,还可以点击「设置」新增默认字段,比如说删除标记,一般来说为了安全起见,数据库都会采用非物理删除。
![](https://filescdn.proginn.com/d1e2a51d7f72562bec8a950f323fea3c/6587e72fbe0ad7f9f4d0dfa227571c2a.webp)
一般来说,我们更习惯字段小写命名,因此可以直接选中一列,然后选择大小写转换。
![](https://filescdn.proginn.com/b3dd78f0f09cb855b123a6b2eee55cc8/d4abdfe70b12212a301ea4277a600a26.webp)
就变成小写了。
![](https://filescdn.proginn.com/97d2db38c9379b2d993dd3878a86162a/3d4e7cb856894859c716da4b7e98a64e.webp)
04、维护关系图
第一步,选择「关系图」,右键选择「新增关系图」
第二步,把需要关联的表拖拽到右侧的面板当中,然后按照字段进行连线,非常的方便。比如说班级和学院表、班级和专业表的关系,就如下图所示。
![](https://filescdn.proginn.com/ba6336c62ad612bc18b05d783a6e031d/847165509141b8a2c54d7753fe47d5fb.webp)
来看一下整体给出来的关系图,还是非常清爽的。
![](https://filescdn.proginn.com/d44305c4134802683c875d44dcc6517d/b5ac0790a1e612308717c44e4df455a0.webp)
五、尾声
chiner 还有更多更强大的功能,大家觉得不错的话,可以去尝试一下。用的熟练的话,肯定能在很大程度上提高生产效率。
就我个人的使用体验来说,chiner 比 PowerDesigner 更轻量级,也更符合日常的操作习惯,为国产开源点赞!
项目地址:
https://gitee.com/robergroup/chiner
使用手册:
https://www.yuque.com/chiner/docs/manual
没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。
推荐阅读: