PowerDesigner反向生成数据库模型(MySql篇)
目录:
- 数据库的反向生成模型
- 模型的Cooment注释显示
步骤一:下载odbc驱动并进行安装:
(1)下载
mysql-connector-odbc-5.3.4-win32
注意:不管电脑是32位,还是64位,统一安装32位即可。
(2)安装




步骤二:odbcad32.exe添加数据源
找到C:\Windows\SysWOW64目录下找到odbcad32.exe这个文件

双击打开,弹出ODBC数据源管理界面

点击添加按钮,在弹出的窗口中选中,安装好的驱动:

点击完成,弹出数据库信息创建窗体:

点击后Ok后,即可以看到新增加了选项:

配置完成。
步骤三:数据库导出为Sql脚本文件

步骤四:打开PowerDesigner软件,进行导入生成模型
A、选择菜单,导入数据源

B.选择数据库版本

C.点击添加Sql文件


D.点击确定后,即可进行转换,生成想要的数据库模型


步骤五,设置显示备注信息:
A、双击表,进入编辑模式,注意:表和列记得添加注释,如下图所示:

点击下图按钮:

B、勾选Comment的多选框

C、打开执行脚本编辑窗口


D、执行以下VBS脚本:

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim blankStr
blankStr = Space()
Dim mdl ' the current model<span style="color: #008000;">'</span><span style="color: #008000;"> get the current active model </span>
<span style="color: #0000ff;">Set</span> mdl =<span style="color: #000000;"> ActiveModel
</span><span style="color: #0000ff;">If</span> (mdl <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span>) <span style="color: #0000ff;">Then</span>
<span style="color: #0000ff;">MsgBox</span> <span style="color: #800000;">"</span><span style="color: #800000;">There is no current Model </span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">ElseIf</span> <span style="color: #0000ff;">Not</span> mdl.IsKindOf(PdPDM.cls_Model) <span style="color: #0000ff;">Then</span>
<span style="color: #0000ff;">MsgBox</span> <span style="color: #800000;">"</span><span style="color: #800000;">The current model is not an Physical Data model. </span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">Else</span><span style="color: #000000;">
ProcessFolder mdl
</span><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">sub</span><span style="color: #000000;"> ProcessFolder(folder)
</span><span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
<span style="color: #0000ff;">Dim</span> <span style="color: #0000ff;">Tab</span> <span style="color: #008000;">'</span><span style="color: #008000;">running table </span>
<span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> <span style="color: #0000ff;">Tab</span> <span style="color: #0000ff;">in</span><span style="color: #000000;"> folder.tables
</span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> <span style="color: #0000ff;">tab</span>.isShortcut <span style="color: #0000ff;">then</span>
<span style="color: #0000ff;">tab</span>.name = <span style="color: #0000ff;">tab</span><span style="color: #000000;">.comment
</span><span style="color: #0000ff;">Dim</span> col <span style="color: #008000;">'</span><span style="color: #008000;"> running column </span>
<span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> col <span style="color: #0000ff;">in</span> <span style="color: #0000ff;">tab</span><span style="color: #000000;">.columns
</span><span style="color: #0000ff;">if</span> col.comment = <span style="color: #800000;">""</span> <span style="color: #0000ff;">or</span> <span style="color: #0000ff;">replace</span>(col.comment,<span style="color: #800000;">"</span> <span style="color: #800000;">"</span>, <span style="color: #800000;">""</span>)=<span style="color: #800000;">""</span> <span style="color: #0000ff;">Then</span><span style="color: #000000;">
col.name </span>=<span style="color: #000000;"> blankStr
blankStr </span>= blankStr & <span style="color: #0000ff;">Space</span>(<span style="color: #800080;">1</span><span style="color: #000000;">)
</span><span style="color: #0000ff;">else</span><span style="color: #000000;">
col.name </span>=<span style="color: #000000;"> col.comment
</span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
<span style="color: #0000ff;">next</span>
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
<span style="color: #0000ff;">next</span> <span style="color: #0000ff;">Dim</span> view <span style="color: #008000;">'</span><span style="color: #008000;">running view </span>
<span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> view <span style="color: #0000ff;">in</span><span style="color: #000000;"> folder.Views
</span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> view.isShortcut <span style="color: #0000ff;">then</span><span style="color: #000000;">
view.name </span>=<span style="color: #000000;"> view.comment
</span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
<span style="color: #0000ff;">next</span> <span style="color: #008000;">'</span><span style="color: #008000;"> go into the sub-packages </span>
<span style="color: #0000ff;">Dim</span> f <span style="color: #008000;">'</span><span style="color: #008000;"> running folder </span>
<span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> f <span style="color: #0000ff;">In</span><span style="color: #000000;"> folder.Packages
</span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> f.IsShortcut <span style="color: #0000ff;">then</span><span style="color: #000000;">
ProcessFolder f
</span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
<span style="color: #0000ff;">Next</span>
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span> </pre>

E、执行后,即可发现注释已经正常现示:

步骤六:显示原字段名




点击Ok后,会弹出确认框,默认选择确定后即可看到效果:


步骤七:更改显示的顺序:

调整后效果:

数据库反向生成模型结束!
PowerDesigner反向生成数据库模型(MySql篇)的更多相关文章
- PowerDesigner反向生成Mysql数据原型
PowerDesigner反向生成Mysql数据原型 注意事项: (1)JVM 要32位的. (2)需配置JAVA_HOME环境变量指向所需JVM. (3)需配置CLASSPATH环境变量执行 MyS ...
- PowerDesigner反向生成物理数据模型
什么是PowerDesigner Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程.利用Power De ...
- PowerDesigner反向生成PDM和name与注释互换
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl 'the current model 'get the ...
- python反向生成数据库模型类
之前去的一家公司,去的时候项目已经好了,但是需要我根据数据库做一个后台管理系统,管理用户和其他的一些数据. 直接说方法 django框架 python manage.py inspectdb > ...
- 利用powerdesigner反向数据库结构,生成ER图
参考月下狼~图腾~:<利用powerdesigner反向数据库结构,生成ER图> https://www.zybuluo.com/Jpz/note/123582 首先新建一个"P ...
- PowerDesigner连接Oracle数据库(32位)反向生成物理数据模型
PowerDesigner可以连接Oracle数据库进行反向生成物理数据模型,本文演示操作过程. 环境说明: 1)Windows8.1,Oracle11R2 32位. 2)PowerDesigner1 ...
- PowerDesigner中SQL文件、数据库表反向生成PDM
1 反向生成PDM 1) 创建一个空的PDM模型(选择相应的DBMS): 2) 选择[Database]--[Update Model from Database ...
- MyEclipse 从数据库反向生成Hibernate实体类
第一个大步骤 window-->open Perspective-->MyEclipse Java Persistence 进行了上面的 操作后会出现一个视图DB Brower:MyEcl ...
- 数据库表反向生成(二) Django ORM inspectdb
在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...
随机推荐
- Vue3.0脚手架搭建
https://www.jianshu.com/p/fbcad30031c2 vue3.0官网:https://cli.vuejs.org/zh/guide/ 介绍: notice: 这份文档是对应 ...
- KVM修改虚机网卡模式:由NAT模式改为Bridge模式
1)关闭虚机# virsh shutdown vm1 2)编辑虚机配置文件# virsh edit vm1 <interface type='default'> 改为<int ...
- 创建一个 Dynamic Web Project
准备工作 一.修改 JDK Compliance level 二.创建 Dynamic Web Project Ctrl + N 三.配置网站服务器 tomcat 这里切记不要点击 Finish ,一 ...
- 5.Cisco Packet Tracer里关于交换机或路由器配置文件和系统映像备份与恢复
我们会将交换机或路由器的配置文件和系统镜像直接备份到tftp服务器上,所以我们需要准备一台tftp的服务器 1我们需要给服务器配一个ip地址,给路由器的f0/1端口配置一个ip地址,路由器与服务器能相 ...
- Mybatis中的增删改查
相比jdbc mybatis在操作数据库方面比jdbc节省了大量的代码,及大量的代码冗余.使得操作起来更加简洁. 在Mapper中分别有着 select,insert, update,delete的这 ...
- C语言中可变参数的使用
在C语言程序编写中我们使用最多的函数一定包括printf以及很多类似的变形体.这个函数包含在C库函数中,定义为 int printf( const char* format, ...); 除了一个格式 ...
- itchat 总结(转)
python实现微信接口(itchat) 安装 sudo pip install itchat 登录 itchat.auto_login() 这种方法将会通过微信扫描二维码登录,但是这种登录的方式确实 ...
- IOS开发学习笔记034-UIScrollView-xib实现分页
通过xib实现分页功能的封装 1.首先实现xib UIView 的尺寸为300*130,因为准备的图片为600*260. scrollView属性设置如下: 2.新建一个和xib同名的类 2.1 类方 ...
- git:多个sshkey配置
克隆项目: 使用git clone +项目.git地址 例如: 创建SSH Key: ssh-keygen -t rsa -C +邮箱地址 sshkey自定义保存:创建后在第二步(enter file ...
- 502 Bad Gateway 怎么解决?
出现502的原因是:对用户访问请求的响应超时造成的 服务端解决办法: 1.提高 Web 服务器的响应速度,也即减少内部的调用关系,可以把需要的页面.素材或数据,缓存在内存中,可以是专门的缓存服务器 , ...