PowerDesigner导入SQL脚本生成带中文注释(comment)的ER图并保存为图片格式(含通用可执行vb脚本文件)

本文介绍了如何使用PowerDesigner 16.5进行反向工程,通过导入SQL脚本来创建数据库表模型,并展示如何设置显示中文注释,最后将ER图保存为图片。步骤包括选择数据库类型、导入SQL脚本、去掉黑色网格线、显示表名注释等。

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

目录

1、安装数据库建模工具PowerDesigner 16.5

2、打开 PowerDesigner,选择反向工程

3、选择数据库类型

4、导入SQL脚本文件并生成数据库表模型

5、去掉Diagram画板黑色网格线(选做)

6、ER图常规显示(包含是否为Null及表名注释)

7、显示中文注释comment(含vb可执行脚本)

8、将生成的ER图保存为图片


1、安装数据库建模工具PowerDesigner 16.5

        数据库建模工具PowerDesigner 16.5的安装、汉化与扩展教程请参考:

数据库建模工具PowerDesigner 16.5的安装、汉化与扩展教程(超详细)_蓝多多的小仓库的博客-CSDN博客

2、打开 PowerDesigner,选择反向工程

        点击菜单 File------>Reverse Engineer ------>Database 

3、选择数据库类型

        Model name:数据库模型的名称
        DBMS:数据库管理系统,下拉选择数据库类型

4、导入SQL脚本文件并生成数据库表模型

        选择使用脚本文件,点击 Add Files 图标,选择需要导入的本地 SQL 脚本文件并导入

        到此,我们可以看到刚刚选择好的需要导入的 SQL 脚本文件列表,如果还需要选择,可重复步骤4;如果没有,点确定即可开始反向工程生成数据库表模型。

5、去掉Diagram画板黑色网格线(选做)

        点击工具栏的 Tools ------> Display Preferences 菜单项,在弹出来的 Display Preferences 界面中找到 General Settings ------>  General ------>  Diagram,然后取消勾选 “Show page delimiter” 选项,最后 OK 确定保存,即可。如图所示:

6、ER图常规显示(包含是否为Null及表名注释)

        Tools------>Display Preferences------>table,这里你需要显示什么就勾选即可。(注意:表名注释需要预先在sql语句中写出哦,例如:COMMENT ON TABLE "you_table" IS '你的表';

7、显示中文注释comment(含vb可执行脚本)

        1>先多选一列code(用于改为注释),步骤:Tools------>Display Preferences------>table------>Advances------>columns------>select------>勾选code------>OK------>确定

        2> 通过脚本修改表名注释,字段注释

        Tools------>Execute Commands------>Edit/Run Script...

        3>在弹框中输入代码并run

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.name
'tab.name = tab.comment&"["&tab.name&"]"
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

        4>到此,我们就可以看到ER图中有中文注释这一列啦

8、将生成的ER图保存为图片

        Ctrl+A 将图表全部选中,点击Edit------>Export Image在保存类型中选择JPEG或PNG即可

<think>我们正在讨论如何根据数据库表结构生成ER。根据引用内容,我们可以使用PowerDesigner工具来实现这一目标。以下是具体步骤: 1. **连接数据库**:在PowerDesigner中,首先需要建立与MySQL数据库的连接。这通常通过配置数据库连接参数(如主机名、端口、用户名、密码等)来完成。 2. **逆向工程生成模型**:连接成功后,通过菜单“Database” -> “Update Model from Database”(快捷键Ctrl+R)打开“Database Reverse Engineering Options”窗口。在这个窗口中,可以选择要生成ER的表,然后逆向生成模型。 3. **调整显示字段**:默认情况下,PowerDesigner中表结构的code和name字段可能显示为英文(即数据库中的实际字段名)。如果需要将数据库中的注释(即字段的中文义)显示在name字段,可以执行以下操作: - 选择菜单“Tools” -> “Execute Commands” -> “Edit/Run Script”,打开脚本对话框。 - 运行一个VBScript脚本,将字段的comment赋值给name属性。例如: ```vb For each table in ActiveModel.Tables For each column in table.Columns column.Name = column.Comment Next Next ``` 这样,ER中的字段名就会显示为注释内容,更易于阅读。 4. **生成ER**:完成上述步骤后,就可以在PowerDesigner中看到生成ER。可以调整布局、颜色等,使其更加美观。 另外,根据引用[3],还有在线工具(如“AI毕设管家”)可以自动生成数据库表结构的ER、流程和功能模块。如果不想安装PowerDesigner,可以尝试在线工具。 **注意事项**: - 在逆向工程之前,确保数据库中的表有适当的注释(特别是字段注释),这样在生成ER时才能显示有意义的名称。 - 如果数据库表结构发生变化,可以通过重新执行逆向工程来更新模型。 §§相关问题§§ 1. 除了PowerDesigner,还有哪些工具可以根据数据库表结构生成ER? 2. 如何将PowerDesigner生成ER导出为片或PDF? 3. 在生成ER时,如何设置表之间的关系连线样式?</think>根据提供的数据库表结构生成ER(实体关系)是数据库设计的重要环节。以下是详细的操作指南: ### 方法一:使用PowerDesigner(推荐专业工具) 1. **连接数据库** 在PowerDesigner中配置数据库连接: ```mermaid graph LR A[Database] --> B[Configure Connection] B --> C[输入数据库类型/主机/账号/密码] ``` 2. **逆向生成模型** - 菜单路径:`Database` → `Update Model from Database` (快捷键 `Ctrl+R`) - 在弹出窗口`Database Reverse Engineering Options`中选择要导出的表[^1] 3. **优化显示效果** ```vb ' 执行脚本将注释显示为Name(Tools → Execute Commands) For each table in ActiveModel.Tables For each column in table.Columns column.Name = column.Comment ' 将字段注释显示为名称 Next Next ``` ### 方法二:在线工具(快速生成) 1. **AI毕设管家** - 支持自动解析SQL语句生成ER - 可直接上传`CREATE TABLE`语句文件[^3] 2. **Navicat等数据库工具** - 内置ER生成功能 - 右键点击数据库 → `逆向数据库到模型` ### 关键注意事项 1. **字段注释** - 确保数据库表字段有完整注释(如`COMMENT '用户名'`) - 注释内容会直接影响ER的可读性 2. **关系定义** ```sql -- 外键关系需明确定义 ALTER TABLE orders ADD CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id); ``` 3. **导出格式** - PowerDesigner支持导出为`PNG/PDF/SVG` - 在线工具通常提供分享链接或嵌入代码
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝多多的小仓库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值