powerdesigner 生成mysql带注释的ER图

本文详细介绍了使用PowerDesigner进行逆向工程的步骤,包括安装配置、数据库链接设置、模型修改及生成逆向工程的具体操作。同时,文章还讲解了如何在PowerDesigner中导出SQL时添加注释,以及将PDM模型导出为Word文档的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[转:https://www.jianshu.com/p/566bd4351c30]

1.安装powerdesigner

参考
https://blog.youkuaiyun.com/sinat_34104446/article/details/79885141

2 配置逆向工程

2.1 新建模型pdm

 

新建模型.png


注:DBMS选择MYSQL5.0

 

配置链接.png

 

新建数据库链接-01.png

配置链接.png

com.mysql.jdbc.Driver
jdbc:mysql://192.168.0.151:3306/nbspider

测试连接.png

常见问题:
出现Could not Initialize JavaVM!
这是因为powerdesiger需要用32位jdk,如果不想修改环境变量,可以在powerdesiger安装目录配置脚本startup-classpath.bat

Set JAVA_HOME=C:\Java\jdk1.8.0_181-32
Set CLASSPATH =C:\Java\repo\mysql\mysql-connector-java\5.1.45\mysql-connector-java-5.1.45.jar
pdshell16.exe

2.2 根据数据库链接修改model

修改model-01.png

 

修改model-02.png

  • 另外,若导出的数据量结构中需要导出外键等关系,则酌情选择如下选择项。

     

    导出外键配置.png

  • 点击确定

    选择导出的数据库.png


    选择要导出的数据库,可以先选择“ALL users”,全部反选,然后选择要建立逆向工程的数据库,再点击全选即可

2.3 生成逆向工程

生成效果如下:

image.png

编辑表名

image.png

显示注释列

  1. 进入首选项

     

    显示code.png

  2. 选择code

    image.png


    https://blog.youkuaiyun.com/qq_17010367/article/details/79212850

    自定义列属性.png

     

    显示code列.png


    设置完毕后效果如下图:

    image.png

  3. 在PowerDesigner中,表结构的code,name字段均为英文,不易阅读,若需要将备注中的字段替换到name字段显示,则执行方法:Tools -- Execute Commands -- Edit/Run Script ,则弹出如下图中的对话框:

     

    image.png

image.png

  • Vb script代码 如下:
Option Explicit 
ValidationMode = True 
InteractiveMode = im_Batch 

Dim mdl 'the current model 

'get the current active model 
Set mdl = ActiveModel 
If (mdl Is Nothing) Then 
MsgBox "There is no current Model" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then 
MsgBox "The current model is not an Physical Data model." 
Else 
ProcessFolder mdl 
End If 

'This routine copy name into code for each table, each column and each view 
'of the current folder 
Private sub ProcessFolder(folder) 

Dim Tab 'running table 
for each Tab in folder.tables 
if not tab.isShortcut then 
if len(tab.comment) <> 0 then 
tab.name = tab.comment 
end if 
On Error Resume Next 
Dim col 'running column 
for each col in tab.columns 
if len(col.comment) <>0 then 
col.name =col.comment 
end if 
On Error Resume Next 
next 
end if 
next 
end sub  

执行后可以将vbscript保存到本地,下次执行时执行本地脚本即可

 

image.png

  1. 执行后的效果如下图:

最终效果图.png

3. PowerDesigner导出SQL时如何添加注释

4. # PowerDesigner生成mysql字段comment 注释

5. PowerDesigner将PDM导出生成WORD文档

https://blog.youkuaiyun.com/ni_hao_ya/article/details/51282618

<think>嗯,用户想用PowerDesigner根据现有的SQL语句生成ER,我得先回忆一下相关的步骤。首先,我记得PowerDesigner有一个逆向工程的功能,可以从数据库或者SQL脚本生成模型。那具体步骤应该是怎样的呢? 可能需要先打开PowerDesigner,然后选择文件里的反向工程选项。比如在菜单里找File -> Reverse Engineer -> Database,这样应该会弹出配置窗口。然后用户需要选择数据库类型,比如MySQL,因为引用里提到了MySQL的导出。这时候可能需要配置数据库连接,但如果用户已经有SQL脚本的话,可能不需要连接实际数据库,而是直接导入脚本文件。 接下来,用户需要指定SQL脚本的位置,所以在配置数据库类型后,应该有一个选项让用户选择脚本文件。可能是在Database Reverse Engineering的窗口里,设置好数据库类型后,选择使用脚本文件,然后浏览到本地的SQL文件。导入后,PowerDesigner会解析SQL中的表结构和关系,生成对应的ER。 另外,引用里提到导入现有本地SQL脚本生成ER模型,所以步骤应该是:新建一个物理数据模型,选择对应的DBMS,然后通过逆向工程导入SQL文件。生成后可能需要调整布局,让ER更清晰。还有可能需要检查外键关系是否正确,或者手动调整一些表的位置。 用户可能遇到的问题包括数据库类型选错,导致语法解析错误。比如如果SQL是MySQL的,但选了SQL Server,可能会出错。另外,如果SQL脚本中有语法错误或者PowerDesigner不支持的语句,也可能导致导入失败。这时候需要用户检查脚本的兼容性,或者尝试简化脚本再导入。 还有,用户可能需要导出生成ER,比如导出为片或者PDF。这可以通过菜单中的导出功能实现。或者,他们可能需要进一步编辑模型,添加注释或调整字段。 总之,步骤大概是:启动逆向工程,选择数据库类型,导入SQL脚本,生成模型,调整布局,最后导出或保存ER。需要确保每个步骤都正确配置,特别是数据库类型和脚本路径。如果有问题,可能需要检查日志或错误提示,修正SQL脚本后再试。</think>[逐步解答] 根据您的需求,以下是使用PowerDesigner 16.5根据SQL语句生成ER的完整操作流程: 1. **创建物理数据模型** - 启动PowerDesigner → 点击File → New Model - 选择`Physical Data Model`,设置DBMS类型为对应数据库(如MySQL 5.0)[^3] 2. **启动逆向工程** - 点击菜单栏Database → Reverse Engineer Database - 在弹出的窗口中选择`Using script files`选项[^1] 3. **导入SQL脚本** ```mermaid graph LR A[选择SQL文件] --> B[配置语法解析] B --> C[自动生成表结构] C --> D[建立实体关系] ``` - 点击添加文件按钮导入本地SQL脚本 - 检查SQL语法与所选DBMS的兼容性[^2] 4. **生成ER** - 完成导入后,所有表结构会自动显示在模型窗口 - 右键点击空白处选择`Auto-Layout`自动排列实体位置 - 通过工具栏调整实体颜色/字体等可视化参数 5. **验证关系完整性** - 检查外键关系是否完整映射 - 使用`Check Model`功能验证约束条件 - 通过View → Display Preferences调整关系线显示方式 [注意事项] - 如遇`Unrecognized SQL statement`错误,需检查SQL方言与DBMS设置是否匹配 - 复杂视/存储过程可能需要手动调整模型 - 建议先清理SQL脚本中的注释和非DDL语句[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值