PDMan 之数据库逆向解析

Python技术

共 1789字,需浏览 4分钟

 ·

2021-04-04 08:31

文 | 極光

来源:Python 技术「ID: pythonall」

上次给大家介绍了一款数据库设计建模工具——PDMan(Physical Data Model Manager),作为一款国产开发工具,想要替代 PD(PowerDesigner) 当然不能只是简单的建表就可以,还得可以把现在已建成的数据库表,逆向解析自动生成数据库表信息的能力才行,今天就来说下用 PDMan 如何逆向解析。

对于大多数人以前开发设计都是用的 PD,现在数据库里可能已经有几十上百张表,想换成 PDMan 做新增表的数据库设计还好,如果想对以前的表进行改造该怎么办?总不能再把以前的表一个个都在 PDMan 里再加一遍吧。当然不能,把已有数据库导入到 PDMan 就需要数据库逆向解析了。

配置数据库连接

数据库连接配置非常简单,首先我们再新建一个项目,先不要在这个项目建任何库表信息。

然后我们点工具栏中的数据库连接图标,进入数据库连接配置窗口,这个窗口左侧+- 按钮是用来增删数据源,然后右侧展示当前数据源的配置信息。下图显示的是 Mysql 的配置信息。


可以看到,基本上你要做的就是修改远程数据库连接IP和端口,以及用户密码就可以了。配置好然后单击测试按钮检查返回是否连接成功。当然除了 MySQL 数据库,它还支持 OracleSQL ServerPostgreSQL 等多种类型,并且可以同时创建多个连接,如下图:


逆向解析已有数据库

上面的数据库设置配置成功后,接下来就是见证奇迹的时候了,开始我们的逆向解析。打开菜单栏模型标签页,单击数据库逆向解析图标,弹出解析已有数据库的窗口,选择我们刚配置好的,需要逆向解析的数据库。


在下拉框旁边有说明,暂不支持索引解析生成,所以索引可能得自己想法搞了。下面还有个下拉框逻辑名格式,这里支持全大写全小写不处理三种形式,这个可以按自己的习惯来选择。我之前就选的全大写,结果新建或修改的表名和字段名都是大写,用起来还是挺麻烦,不习惯后来就改用全小写了。


OK,一切准备就绪,单击下一步就可以开始逆向解析了,它会把你配置的库里所有表都逆向生成出来,为我们节省了不少时间。

等待一会逆向成功后,现有数据库中的所有表就出现在了左侧栏中,如下图:

至此大功告成!然后我们看下模型标签页中,除了逆向解析,还有导出文档导出DDL脚本导出JSON的功能。


其中导了导出文档功能又支持导出HTML导出Word导出MARKDOWN类型的文档,是不是很强大,如下图:

下面再看下导出DDL脚本,这个功能也很实用,用来将你创建好的数据模型导出不同的数据库格式 DDL 脚本。也就是说你从 Oracle 库中逆向解析出的模型,可以通过这个功能导出 MySql 数据库类型的脚本。

关系图

假如你的数据库里有几十上百张表,想要直观的了解各表之间的关系该怎么做?接下来就为大家介绍下这个关系图功能。图中的表都是从左侧数据表列表中拖动过来的,效果如下图:

然后可以通过从一个表字段拖动鼠标到另一表的字段上,来建立表之间字段的关联关系。有了这个关系图就可以很直观的看出各表之间是怎么关联了。在关系图打开的时候,菜单下的标签页会自动切到关系图标签页,里面可以进行放大、缩小、拖拽等操作。


这里说下导出图片按钮,顾名思义就是为了导出关系图的,试想如果你有几十张表的关系,那仅凭截图是截不全的,所以这个导出关系图还是很实用的。这里它也支持导出整图,或者导出可见区域内的图。

有了关系图,是不是对整体项目的了解更直观了?

总结

总的来说,PdMan 在数据库逆向解析和关系图功能上都要比 PD 好很多,确实是个很实用的工具。当然除了这些,它的实用还有数据库版本控制,这是个很让人头痛的问题,下次我们接着聊。OK,今天就聊这些,如果你喜欢记得点 在看

PS公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!


老规矩,兄弟们还记得么,右下角的 “在看” 点一下如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!


浏览 52
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报