爱丽丝
发布于

再见PowerDesigner,这款国人开源的数据库设计工具Chiner真香

当我们在项目开发初期时,往往需要设计大量的表,此时使用数据库设计工具就会比较高效!今天给大家推荐一款国人开源的数据库设计工具 chiner,界面漂亮,功能强大,希望对大家有所帮助!

回顾 PowerDesigner

相信平时工作中,大家或多或少会使用 PowerDesigner 来设计数据库,感觉这款工具界面有点古老,界面看着就具年代感,有时候用起来也比较重,来看下之前使用它设计数据库的效果。

4d667ced57af498f964fc1893800c71c.png 最近体验了一把 chiner,设计数据库确实很方便,界面 UI 也不错,让我们来看下使用它设计数据库的效果,是一款轻量级、现代化的数据库设计工具!

15baee45e1ee4783964d91190ac14f35.png

chiner 简介

chiner(发音:[kaɪˈnər])是一款支持多种数据库,独立于具体数据库之外的数据库关系模型设计平台,使用 React+Electron+Java 技术栈构建。

chiner 的发展历程比较坎坷,项目作者都把它的发展历程放在了 README 最显眼的位置上,可见开发一款好用的开源工具有多么不容易!我们来看下它的发展历程。

前世今生

2018 年初,我和几个对开源有兴趣的社区好友,创立了一个松散的组织,用一个半月时间完成了 PDMan 的 1.0 版本发布,解决了从无到有的问题。

2018 年 5 月,推出了 PDMan 第一个开源公开版,中间持续阶段性更新,直到 2019 年 1 月,不再更新。

当前每一天,有 3000 家以上的公司或者独立的个人在使用 PDMan 在设计他们的数据库。

我们自己使用以及用户使用的过程中,提出了很多优化建议方案。

因前期设计考虑不充分,很多优化升级执行起来非常困难,我们于 2019 年 12 月,规划了另一个全新的版本。

当情怀遇上生存发展,饿着肚讲理想,真的很难。期间,我们团队几经折腾周转,数次濒临解散。

2019 年底,我们不到三万块启动资金,几乎是光着屁股创业,幸得有多个好友关照,给了两个项目做,核心团队分为两部分,一部分去杭州,另一部分在远走塞北,我们的吃饭问题暂时解决了。

在此期间,持续发酵沉淀,我们同社区好友,利用业余时间,完成了技术架构设计,界面原型设计,关键核心模块的开发编码。

我们以及社区好友,持续投入,直到到今天(2021 年 7 月 17 日),终于推出全新的 3.0 版本。

安装

chiner 是一款跨平台的数据库设计工具,支持 Windows、Mac、Linux,下面我们来安装下。

  • 我们下载安装包时需要注意如果是谷歌浏览器,需要使用右键,选择链接另存为进行下载,下载地址:gitee.com/robergroup/…

cc895998a3834f7bb63bf9f7f973514c.png

  • 下载绿色版完成后解压到指定目录,双击 exe 执行程序即可打开;

828b4abdd6324b3ca49069a6437a232e.png

  • 打开界面后,可以发现非常贴心地提供了操作手册参考模板

15f72a69aaeb430ea6bc800f04cfd604.png

基本使用

作为一款数据库设计工具,chiner 的功能还是挺强大的,下面我们通过官方提供的教育管理系统参考模板,来体验下它的基本功能。

基本概念

  • 由于 chiner 需要支持多种数据库,还要能生成实体类代码,所以就有了数据类型这个概念,用于映射 chiner 中的数据类型到各种数据库和代码中,比如我们来看下字串这个数据类型;

8be605f86cca4ccdb506873422f0d23a.png

  • 记得我们使用其他工具设计数据库时,设置字符经常需要设置长度、设置金额需要设置长度及小数位数,在 chiner 中只要设置好数据域,就能自动生成,我们来看下数据域;

b8595e6c80724cdea7ea944434b3927e.png

  • 这里需要注意的是数据域需要绑定数据类型

b0f8b0451f5b48148898618c15b7416f.png

  • 对于一些字段的枚举类型,chiner 也提供了数据字典功能,比如我们可以设置用户性别:男 M女 F未知 U

8c511134d7eb41a1a65356c20a1bea9f.png

数据表管理

  • 在设计数据库时,经常会用到一些公用字段,比如创建时间创建人更新时间更新人这类字段,使用 chiner 可以自动生成,点击设置,新建表默认字段即可;

35b8ab47a47441e5ba5637ee061cb578.png

  • 接下来我们新增一张测试表,就可以发现公共字段已经被全部添加了,这就挺棒;

aa56c75823a44542b7e030181dda29cd.png

  • 细心的朋友会发现目前字段默认设置的大写,我们习惯了小写怎么办,选中字段代码,点击大小写按钮即可一键转换;

3b0657c714f8438d824a88380d541c6e.png

  • 在我们添加字段的时候,只要直接选择数据域,即可自动设置数据类型和长度,比如常用的主键名称等,非常方便;

b70857c7c5804e7985877bf673d4f349.png

  • 当然我们也可以直接选择数据字典,选择完后也可以直接查看数据字典。

5e32fbfae6874078bc3390826ed667b6.png

关系图管理

  • 使用 chiner 创建关系图也是比较方便的,点击新增关系图然后选择连线对象为字段即可;

db7cb7882bfd45c49ec85fc0a69e5259.png

  • 接下来把数据库表拖拽到关系图中即可;

a44050ceb8c948108c4142f007d6d959.png

  • 连接有关系的字段即可创建连线,右键连线可以编辑关系;

53b6a8cc6be54fca81cf5b92abb290ab.png

  • 来张完整的关系图看看,效果还是不错的,操作也很方便;

d867b6dddcaf4f4abf46a2452f73b945.png

  • 之前使用 PowerDesigner 是可以直接使用外键来生成关系图的,而 chiner 是不支持的,不过在阿里巴巴 Java 开发手册中提过:不得使用外键。既然不使用外键了,把关系从数据库抽离到设计工具里面去,也是可以理解的。

45fca288d819474490ba9344a05bb93e.png

导入导出使用

生态对接也是支持的哦,chiner 支持数据库逆向解析、导入 PowerDesigner 文件、导出 DDL 脚本及 Word 文档,下面我们来体验下。

  • 从数据库导入前,我们需要先配置好数据库连接信息;

8d045e931a7b4b339401711f77277344.png

  • 然后选择从数据库导入;之后选择好需要导入的表即可;

7b848882b41c420e8aa3bccbc0d871cb.png

  • 当然 chiner 也是支持从 PowerDesigner 文件导入的;

c4a1a80ee29549a5842f302e0d4b1260.png

  • 当我们设计好数据库之后,就可以使用 chiner 的导出 DDL 功能,来将表同步到数据库中了;

89ab311b34124335a37f6a5b6f54e440.png

  • 有时候可能需要导出 DDL 脚本文件,直接使用 chiner 的导出 DDL 功能即可。

c823b0a8c1e7465abe435d418a70a409.png

总结

chiner 确实是一款界面美观、使用方便、功能强大的数据库设计平台。比起 PowerDesigner 来,更加轻量级、界面体验也高大上得多。感觉唯一不足的地方就是不能通过外键生成关系图,对于一些使用外键的项目就比较麻烦了,不过目前用到外键的表设计应该比较少了。

参考资料

原文地址,如有侵权,请联系删除。

评论(3)