PDMan 之数据库逆向解析

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

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

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


配置数据库连接

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


43.png

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


44.png


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


45.png


逆向解析已有数据库

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


46.png47.png


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

48.png


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

49.png


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


50.png


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


51.png


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

52.png

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


关系图

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

53.png



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


54.png


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

56.png


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

总结

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

目录
相关文章
|
2天前
|
SQL druid Java
Javaweb之数据库连接池以及lombok类库的详细解析
Javaweb之数据库连接池以及lombok类库的详细解析
16 0
|
2天前
|
SQL 存储 关系型数据库
数据库开发之图形化工具以及表操作的详细解析
数据库开发之图形化工具以及表操作的详细解析
18 0
|
29天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
169 0
|
2天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
12 0
|
13天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
21 0
|
8天前
yolo-world 源码解析(六)(2)
yolo-world 源码解析(六)
18 0
|
8天前
yolo-world 源码解析(六)(1)
yolo-world 源码解析(六)
12 0
|
8天前
yolo-world 源码解析(五)(4)
yolo-world 源码解析(五)
19 0
|
8天前
yolo-world 源码解析(五)(1)
yolo-world 源码解析(五)
31 0
|
8天前
yolo-world 源码解析(二)(2)
yolo-world 源码解析(二)
21 0

推荐镜像

更多