• 数据建模软件Chiner,颜值与实用性并存


    一、chiner介绍

    在chiner出现之前进行数据库建模设计的时候,大部分时间使用的是PowerDesigner。说实话基本上是偷偷的用,因为大家都知道PD是收费软件,到处和国内厂商打官司。不仅如此,PowerDesigner古老守旧的的设计界面已经快让让我忍不了了,一直想寻找一款PD的替代品。

    最近看同事在进行数据库设计的时候发现他用了一款非常有颜值的工具,看了第一眼就非常有好感,同事说这款软件非常好用,而且是开源的,叫做Chiner(发音:[kaɪˈnər])。就这个颜值,说句实话,在一众数据建模软件中属于“荣耀王者”的那种了,超级能打。只因在人群中看了你一眼,就再也无法忘记你容颜!

    file

    因为Chiner是使用electron开发的,所以windows、Linux主要发行版、MacOS都可以安装。

    下载地址:https://gitee.com/robergroup/chiner/releases

    这个软件怎么安装,我就不写了。我也不想给大家列举怎么一步一步的使用,怎么新建项目之类的,我觉得这些都没有什么太大意义。这款软件操作界面还是非常友好的,所以基本上没有什么学习成本。另外还有非常详细的操作手册,打开软件之后点击下图中所示的“操作手册”按钮,即可跳转到一个非常详细的操作手册界面。

    file

    二、值得关注的功能点

    不说操作步骤,我们说点什么呢?我想给大家说一下这个软件有哪些功能,这些功能对我们有什么用处,它好在哪。

    2.1. 兼容各种格式的数据建模文件

    file

    • 支持导入PDMan格式的数据建模文档,PDman是Chiner的前身,可以理解为Chiner1.0的设计文档。
    • 支持导入CHER文件,cher格式的文件就是当前版本3.0的导出文件可以独立保存,到处之后可以从这里导入。
    • 支持导入PowerDesigner文件,也就是说以往如果我们使用PD做的数据库建模不白做,在chiner中仍然可以导入使用。
    • 从数据库导入,通过建立数据库连接,将数据库中的表做逆向工程,形成数据库建模文档。
    • 导入DDL,也就是说可以通过一些建表语句,建立视图的语句什么的导入到工程里面。

    2.2. 支持多数据库、代码生成

    下面的这张图是针对数据库表进行表结构设计的界面,非常的友好,我相信学过数据库的同学看了就会用。

    file

    大家看下面的这个图,是完成表结构建模之后,能够帮我们自动生成各种数据库的建表语句。

    file

    不仅如此,还可以生成JAVA和C#的与数据库表相关的实体类代码。对的,它不仅是一个数据建模工具,还是一个代码生成器。

    file

    2.3. 支持逻辑视图与物理视图设计

    在数据库设计过程中,我们通常需要在初始阶段先通过一个ER图(逻辑视图)来表现数据库各表对应的实体之间的关系。ER图的实体可以是:一对多、一对一、多对多。 如图我用红色标识的都是逻辑关系中的“一”,用蓝色标识的都是逻辑关系中的“多”。举例说明:

    • 一个班级对应多个学生
    • 一个学院有多个班级
    • 一个学生对应多门考试

    这个关系大家通过看图,我觉得还是体现的非常清晰明显的。

    file

    看完逻辑视图,再看看物理视图,物理视图就是在逻辑视图的基础上给出数据库表物理结构的具体信息。

    file

    2.4. 自动生成数据库文档

    在所有的设计完成之后,通常我们需要输出一个《数据库设计文档》,在以往这个文档通常需要我们自己手写,但是在有了chiner之后我们可以自动生成。下面菜单栏导出,导出WORD(就是《导出数据库设计文档》)!

    file

    看看导出的数据库文档的效果,是不是省了你80%的工作量?绝了!

    file

    生成的数据库表的展现结构是下面的这样的。

    file

    如果你认为这还不够,还可以自定义WORD模板,这个功能就等待着你自己去发掘哦!

    三、总结

    上面我只是给大家介绍了Chiner这款软件的一些比较有特色的功能,反正我用了一段时间觉得特别好用,国人开发的项目就对国内开发者的使用习惯研究的特别透彻,效果特别好!

    言尽于此,感谢大家读完了这篇文章,笔者有非常用心的去写,希望得到您的支持!

    欢迎关注我的博客,更多精品知识合集

    本文转载注明出处(必须带连接,不能只转文字):字母哥博客 - zimug.com

  • 相关阅读:
    什么是产线工控安全,如何保障产线设备的安全
    MyBatis(二)
    《PolarDB-X学习》第一讲
    中石油大学22春季《大学英语(四)#》第一阶段在线作业
    QT_day3
    终于搞懂了 super(XXXX, self).__init__()的作用是啥了
    【Python性能优化实例】计算 numpy 数组首尾为 0 的数量
    SpringMVC入门指南
    数学建模学习(98):CHIO优化算法
    leetcode:6107. 不同骰子序列的数目【dp六个状态 + dfs记忆化】
  • 原文地址:https://www.cnblogs.com/zimug/p/16163618.html