一.根据SQL文件生成ER图

1.首先准备好创表语句的SQL文件

2.选择文件 -> 反向工程(ReverseEngineer) -> Database

  • ModelName自己随意写,DBMS选择你使用的数据库类型

  • 选择你的SQL文件

  • 改编码类型

二.生成注释

1.双击表查看是否有字段注释,如果没有添加进去

2.点击工具 -> ExecuteCommands -> Edit/Run Script

'******************************************************************************
'* File:     comment2code.vbs
'* Purpose: 在PowerDesigner的PDM图形窗口中显示数据列的中文注释
'* Title:    将字段的comment赋值到字段的code中
'* Category: 打开物理模型,运行本脚本(Ctrl+Shift+X)
'* Copyright:foxzz@163.com,2006/07/25 .
'* Author:   foxzz
'* Created:
'* Modified:
'* Version: 1.0
'* Comment: 遍历物理模型中的所有表,将字段的comment赋值到字段的code中。
'            在将code置换为comment过程中,需要考虑的问题
'            1、code必须唯一,而comment有可能不唯一。
'               处理办法是如果字段的comment重复,则字段的code=comment+1、2、3...
'            2、comment值有可能为空,这种情况下对字段的code不处理。
'               针对Oracle数据库,将comment on column 字段名称 is '';添加到C:\pdcomment.txt文件中。
'               在补充comment完毕后,便于在数据库中执行
'******************************************************************************Option Explicit
ValidationMode = True
InteractiveMode = im_BatchDim system, file
Set system = CreateObject("Scripting.FileSystemObject")
Dim ForReading, ForWriting, ForAppending   '打开文件选项
ForReading   = 1 ' 只读
ForWriting   = 2 ' 可写
ForAppending = 8 ' 可写并追加
'打开文本文件
Set file = system.OpenTextFile("C:\pdcomment.txt", ForWriting, true)'判断当前model是否物理数据模型
Dim mdl
Set mdl = ActiveModel
If (mdl Is Nothing) ThenMsgBox "处理对象无模型"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) ThenMsgBox "当前模型不是物理数据模型"
ElseProcessFolder mdl,file
End If
file.Close'******************************************************************************
Private sub ProcessFolder(folder,file)Dim i,j,k
i=0:j=0:k=0'列数组,记录字段里不重复的comment
Dim ColumnComment()
Dim ColumnCommentNumber()
ReDim Preserve ColumnComment(i)
ReDim Preserve ColumnCommentNumber(i)Dim tbl   '当前表
Dim col   '当前字段
dim curComment '当前字段comment'处理模型中的表
for each tbl in folder.tablesif not tbl.isShortcut thenif len(trim(tbl.comment))<>0 then'可以在这里显示table的comment'tbl.code = tbl.code+"("+trim(tbl.comment)+")"end if '处理表中的列for each col in tbl.columnsk = 0curComment = trim(col.comment)if len(curComment)<>0 then'遍历相异的comment数组for j = 0 to iif ColumnComment(j) = curComment then'如果找到相同的comment,则相关计数器加1ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1k = jend ifNext'如果没有相同的comment,则k=0,此时ColumnCommentNumber(0)也为0'否则ColumnCommentNumber(k)不为0if ColumnCommentNumber(k) <> 0 thencol.name = curComment & cstr(ColumnCommentNumber(k))elsecol.name = curComment'ColumnComment(0)、ColumnCommentNumber(0)永远为空'将相异的comment记录添加到数组中i = i + 1ReDim Preserve ColumnComment(i)ReDim Preserve ColumnCommentNumber(i)ColumnComment(i) = curCommentColumnCommentNumber(i) = 0end ifelse'写入文件中file.WriteLine "comment on column "+ tbl.code+"."+col.name+" is '';"         end ifnextend if'由于不同表的code允许相同,因此此时重新初始化。'因为ColumnComment(0)、ColumnCommentNumber(0)为空,可以保留ReDim Preserve ColumnComment(0)ReDim Preserve ColumnCommentNumber(0)i=0:j=0:k=0nextDim view '当前视图
for each view in folder.Viewsif not view.isShortcut then'可以在这里显示view的comment'view.code = view.commentend if
next'对子目录进行递归
Dim subpackage 'folder
For Each subpackage In folder.Packagesif not subpackage.IsShortcut thenProcessFolder subpackage , fileend if
Nextend sub'******************************************************************************zzzz

三、显示字段名

虽然注释显示出来了,但原字段不见了

1.工具-> 显示参数选择(Display Preferences)

2.Table->Advanced

3.设置columns,点击右边的放大镜

4.勾选code上移到顶部

PowerDesigner16.5 逆向生成物理模型相关推荐

  1. mysql怎么生成模型,PowerDesigner连接MySQL逆向生成物理模型

    系统环境:Win10 64位系统 下载安装ODBC 到MySQL官网上下载ODBC,选择mysql-connector-odbc-5.3.9-win32.msi 这一点非常重要,下面会说明理由.安装就 ...

  2. java导出word表格_使用PowerDesigner16.5 逆向数据库 导出word文档

    在上一篇<使用PowerDesigner16.5 逆向数据库生产表结构或导出word文档二>中,我们学会了使用PowerDesigner16.5怎么连接数据库,逆向生成表结构.有时候,我们 ...

  3. PowerDesigner 逆工程生成物理模型图解

    PowerDesigner 逆工程生成物理模型图解 1 PowerDesigner简介 PowerDesigner 是较为常用的数据库以及开发设计工具,本文主要演示通过逆向工程对着AdventureW ...

  4. PowerDesigner15.5 逆向生成mysql数据PDM文件

    版本:PowerDesigner15.5 数据库:mysql 目标:生成物理模型 操作原理:使用PowerDesigner的逆向功能生成物理模型 操作步骤 1. 点击 菜单 "文件" ...

  5. [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端

    [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端 一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端.看过一本SOA的书中 ...

  6. mybatis脱离项目逆向生成映射文件

    之前通过MyBatis Generator逆向生成映射文件都是在项目里,这次由于工作需要,尝试了下脱离项目生成 下载MyBatis Generator工具类 解压后进入lib目录,创建src文件夹以及 ...

  7. eclipse从数据库逆向生成Hibernate实体类

    2019独角兽企业重金招聘Python工程师标准>>> 做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说 ...

  8. 逆向工程 sql_mybatis逆向生成工具,真的很好用!

    点击蓝字"程序员考拉"欢迎关注! 应某位朋友的要求,针对SSM系统,以及如何使用mybatis逆向生成工具做一个简单的介绍.本教程会讲解如何从零开始一步一步搭建出SSM系统,其中M ...

  9. 【SSM 4】Mybatis逆向生成工具

    在上一篇博客中说到,Mybatis是灵活的SQL语句应用,不想Hibernate一样有其封装好的方法,那么,当我们用Mybatis的时候(Hibernate),我们都需要编写其实体类,和配置文件.本篇 ...

最新文章

  1. 如何计算机械能,问:损失的机械能如何计算?
  2. java 绘图 渐变_如何在Java 2D中创建渐变绘画?
  3. [IDEA] 异常 Configuration is still incorrect. Do you want to edit it again? Error: module not specifie
  4. 在其他事件中repeater的取值
  5. Linux_service cloudera-scm-server start failed
  6. 《IPv6安全》——2.3 IPv6网络勘察
  7. JUCE复杂的命名空间的替代方法
  8. C#开发工控上位机编程 csdn_C#串口编程示例
  9. 感恩有你 华为云学院伴你前行
  10. C# 模拟PCM数据并创建WAV文件
  11. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】
  12. 好用的图片翻译器有哪些?这3个工具你们不能不知道
  13. 视频质量分析工具介绍
  14. 请简要描述计算机网络的构成,第二单元 第一课计算机网络基本组成
  15. linux 网卡名称wlan0,ubuntu16.04,如何修改网卡名称为eth0,wlan0
  16. Vulkan完全光线追踪硬阴影
  17. 两个ESP8266配置透传(不要其他设备开热点)
  18. 基于Vite + Vue3 + Typescript 实现在线聊天项目
  19. 中兴通讯扬帆国际化难掩主场失意:内外销市场冰火两重天
  20. 《Kotlin 程序设计》第五章 Kotlin 面向对象编程(OOP)

热门文章

  1. 基于R语言或Matlab直接读取压缩包中的数据
  2. AWVS批量操作脚本
  3. Python内置函数、匿名函数
  4. dockerexec 的使用-it操作
  5. 瑞芯微RK3288处理器性能,RK3288芯片参数介绍
  6. 锤子手机便签导入另一个手机云便签中怎么操作?
  7. 无限分类左右值实现算法
  8. php存在文件夹_PHP创建文件夹 PHP判断文件夹文件是否存在
  9. 计算机网络—URL到显示的过程、Http、Https、长连接短连接
  10. 基于SmartThreadPool线程池技术实现多任务批量处理