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反向生成之前,我们先说一下怎么 ...
随机推荐
- Vue 恢复初始值的快速方法
vue 中经常定义很多data ,在用户进行一些操作后,需要讲data中的某个对象定义为初始值 例如 form: { title: '', describe: '', inspectionCatego ...
- MySQL基础 - 1 数据库基础
一.数据库基础 1.什么是数据库 1.数据库(database)是保存有组织的数据的容器( 通常是一个文件或一组文件 ) 2.数据库是一个以某种有组织的方式存储的数据集合 注意:数据库软件应该称为DB ...
- win10下安装mysql-5.7.23-winx64
Step1 官方下载地址 https://dev.mysql.com/downloads/mysql/ 选择手动下载版本 解压到自己指定的路径 上图中的my.ini及data文件夹在压缩包里是没有的, ...
- Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码
题记: 11月14日早晨8点,人人网发布公告,宣布人人公司将人人网社交平台业务相关资产以2000万美元的现金加4000万美元的股票对价出售予北京多牛传媒,自此,人人公司将专注于境内的二手车业务和在美国 ...
- ACM二分搜索中的最大化最小值 总结
这类题目都有个相似的地方就是需要你去找一个临界点. 分析题目要你求什么,例如时间 那么mid就是时间 看求得这个跟什么相关 例如 poj 3258 求得是距离 这个距离跟两者之间的差相关 那题目要求你 ...
- Diycode开源项目 SettingActivity分析
1.整体效果预览及布局分析 1.1.设置界面预览 1.2.主体对应关系 注意这里的线条用ImageView来实现 有一个TextView是检查更新,默认隐藏,具体出现时间还得之后确认. 最后一个Lin ...
- MongoDB用PCRE正则表达式
介绍 下面说明 PCRE 所支持的正则表达式的语法和语义.Perl 文档和很多其它书中也解说了正则表达式,有的书中有很多例子.Jeffrey Friedl 写的“Mastering Regular E ...
- python-day4-内置函数2
摘要:python中有好多可用性特别强的内置函数,熟练掌握对于以后的编程过程中有很大的帮助~~~~ callable函数.chr函数与ord函数.random函数.compile函数.evec与eva ...
- php 实现栈与队列
<?php class queueOp{ /* * 队尾入队 * Return:处理之后队列的元素个数 */ public function tailEnquque($arr,$val){ re ...
- PostgreSQL drop database 显示会话没有关闭 [已解决]
错误重现 有时候需要删除某个数据库时,会报如下错误,显示有一个连接正在使用数据库,无法删除 ERROR: database "pilot" is being accessed by ...