文 | 極光

来源: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,今天就聊这些,如果你喜欢记得点 在看


©著作权归作者所有:来自51CTO博客作者mob604756e8ada8的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 开始使用ElasticSearch(十一)之数据多表导出
  2. coremail导出用户草稿箱中的邮件并打包
  3. 逆向而行,中文轻量级预训练模型的探索之路
  4. iOS逆向与安全
  5. 将Dynamics 365中的用户及其角色、角色导出到Excel中
  6. 介绍一款免费好用的可视化数据库管理工具
  7. ProBuilder快速原型开发技术 ---进阶功能操作
  8. 如何在苹果Mac上的“邮件”中导入或导出邮箱?
  9. 数据搬运组件:基于Sqoop管理数据导入和导出

随机推荐

  1. PHP程序员的技术成长规划(转)
  2. php时间函数——获取过去24小时内每个小
  3. 如何从PHP中的file_get_contents获取动态
  4. PHP ZipArchive 实现压缩解压Zip文件
  5. brandhb.com 品牌回报网招聘php工程师
  6. php判断手机浏览还是web浏览,并执行相应的
  7. PHP变量类型+整型类型细节
  8. PHP中的替代语法
  9. 仅在LARAVEL或AJAX中提交表单时,无需用户
  10. JAVA/PHP/C#版RSA验签--转