PowerDesigner生成注释以及对应数据库的sql语句

本文介绍如何在PowerDesigner中为生成的SQL语句添加注释,并选择适用于特定数据库的语言。包括生成注释的方法、处理版本更新时的名称不匹配问题,以及解决SQL约束名称重复的技巧。
  

这个时候生成的sql语句是没有注释的,而且sql语句可能也不是适合自己所对应的数据库语言。此时可以通过以下方法来生成注释并且选择所需的数据库语言。

1、为sql生成注释,操作如下,我用的是PowerDesigner12.5,在其中选择Tools----》Excute commands-----》Edit/Run Script打开的窗口中添加以下信息

'******************************************************************************
'*   File:           name2comment.vbs
'*   Purpose:     Database   generation   cannot   use   object   names   anymore  
'                         in   version   7   and   above.
'                         It   always   uses   the   object   codes.
'
'                         In   case   the   object   codes   are   not   aligned   with   your  
'                         object   names   in   your   model,   this   script   will   copy  
'                         the   object   Name   onto   the   object   Comment   for  
'                         the   Tables   and   Columns.
'
'*   Title:        
'*   Version:     1.0
'*   Company:     Sybase   Inc.  
'******************************************************************************


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   comment   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
                  '把表明作为表注释,其实不用这么做
                  tab.comment   =   tab.name
Dim   col   '   running   column
for each   col   in   tab.columns
                        '把列name和comment合并为comment
                        col.comment=   col.name
next
end if
next

Dim   view   'running   view
for each   view   in   folder.Views
if not   view.isShortcut   then
                  view.comment   =   view.name
end if
next

'   go   into   the   sub-packages
Dim   f   '   running   folder
For Each   f   In   folder.Packages
if not   f.IsShortcut   then
                  ProcessFolder   f
end if
Next
end sub

 

 

 

  • 1. 生成sql脚本的时候,提示"constraint   name   uniqueness”   
  •   
  • 解决方式:菜单 Model --> References 对话框中的"FK   constraint   Name”列,在这里找到名称重复的名称,修改为不同名称。   


     

<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、付费专栏及课程。

余额充值