EZDML 数据建模

超轻量级的免费数据建模工具

0%

EZDML导入导出PowerDesigner模型教程

PowerDesigner是数据建模的老大,已经在用PD的用户一般是不需要转到EZDML来的,我们也不建议用户转过来。但如果是接手已经有PowerDesigner的物理模型,或其它原因(如国产化、授权问题、功能特性等)需要转到EZDML,可以通过PDM文件导入。

下面举个例子导入一个PDM,并通过SQL逆向导回PDM,顺便作一些简单的分析和生成演示。

打开PowerDesigner模型

启动PowerDesigner,在欢迎页打开示例Examples:

选择project.pdm这个文件:

打开后,默认显示主模型图:

这个是Employee模型图:

剩下那个不截图了。

准备pdm文件

接下来准备导入,首先pdm有二进制格式和xml格式之分,我们需要xml格式的。如果不确定是否是xml格式的,可将模型再另存为xml格式的pdm文件:

保存的pdm文件应该是可以用记事本打开的:

导入PDM文件

有了xml格式的pdm文件后,我们打开EZDML,新建文档,执行主菜单“模型|导入PDM文件…”(旧版为“文件|导入文件…”):

选择要导入的pdm文件:

导入结果,三个模型图都导进来了,还加了一个总的全部的模型图,不过EZDML设计较简单,不支持模型的树状分组,因此是全导到根级节点了:

表、字段、关系、逻辑名、颜色、位置都导入了,跟原版稍有差别,但基本上八九不离十了:

自动排列布局

总模型图是把所有表放一起了,但没有进行布局,只是所有表平铺在一起:

我们点一下工具栏上的“重新排列”,对模型图进行自动布局:

自动布局后的效果:

缩略图分析

接下来我们简单分析一下导入结果,我们接着看刚才自动布局的模型图,表对象较多,我们按F8切换到缩略图模型:

表对象之间的关系一目了然,很显然,Employee雇员表是一个关键表,我们就拿它来专门看下。

表对象属性

首先是字段列表:

描述字:

关系图:

生成代码

接着,从表属性窗口的右上角“更多”菜单,我们打开“生成”看看,这里可以生成各种SQL:

JAVA代码,这个是脚本生成的:

Markdown文档,也是脚本生成的:

可以直接在浏览器打开预览:

基本上就是接口文档了:

生成VUE-ElementUI的表单界面:

同样可以预览(这个需要从网络下载vue和element的库):

界面原型设计

接着看下界面原型,界面原型能让设计者看到表对象最终在界面上显示的大概样子,并且可以作一些简单的设计;它不能完全代替原型设计,但也是提供了辅助作用。这个好像有点偏离了EZDML的主业了,不过生成代码一直是EZDML的基础功能,时间长了自然就延伸到界面了。

这页面默认也是隐藏了,需要右上角“更多”菜单打开。打开后默认显示的是PC版面:

我们可以拖动一下列头,修改下位置和列宽(注意修改位置会同时修改字段的排列顺序):

通过右键菜单给前几列设置下数据生成类型,生成演示数据:

嗯,看起来有点像模像样的样子了。切换到手机列表版面:

双击列表项,进入明细详情:

点“修改”按钮,进入编辑页面:

通过右键菜单,将Employee function的编辑器类型修改为下拉框:

最终效果:

生成原型系统

我们演示下简单生成原型系统,执行主菜单“模型|生成代码”或工具栏的生成功能:

注意这个生成代码跟单表里的生成有所不同,这个是批量生成,且能生成一整套的工程代码。

在弹出的窗口中,选择layuiAmdin模板,点击生成:

生成完成,会自动打开一个小HTTP服务:

并打开浏览器访问原型系统:

这基本上就是一个简单的原型了,注意跟刚才我们设计的界面原型是不是很像:

表单:

这个是百度Amis的列表:

表单:

逆向导出到PD

目前EZDML不支持直接导出PDM格式,不过我们可以利用PD的逆向工程间接将EZDML的模型导出。

我们先在EZDML中将所有表生成为ORACLE的建库SQL:

将所有SQL复制到记事本,保存为SQL文件,比如我们保存到D:\test_exp.sql:

打开PD,执行菜单命令File|Reverse Engineer|Database:

输入名称,DBMS选择oracel11g:

选择Using script files使用SQL脚本文件,执行添加,将刚才生成的SQL文件选进来:

点确定,等待进度完成,就可以把基本模型导进来了(含注释):

当然,默认导入后逻辑名和物理名是一样的,如果希望从注释中提取逻辑名,可自行使用VB脚本来实现,网上有现成的例子,这里就不细述了。

PDM的导入导出和分析生成我们就说到这。