注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

PowerDesigner的使用  

2011-01-27 16:53:14|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      尝试使用PowerDesigner,记录常用使用技巧如下。

一、PowerDesigner生成sql问题
Database ——"change current DBMS",先选择数据库类型。
生成sql的方法是 Database -->Generate Database (Ctrl + G ) 在界面中输入你的SQL文件名,选择要生成的表,选择script generation模式,就可以生成sql文件。
若提示

Could not load VBScript engine.
Check VBScript installation.

Generation aborted due to errors detected during the verification of the model.

 将check model 去掉就可以了!其中,

one file on是否需要按照表生成许多个sql(默认选上,即不需要)
odbc generation    sql直接生成到数据库中
Automatic archive   生成sql同时生成apm文件。


二、Power designer, 反向工程生成ER图
1. In PowerDesigner, choose File | Reverse Engineer | Database.... The New Physical Data Model Dialog box, shown next, appears.DBMS要选成Oracle 10G, 然后点"OK"
2.在出来的database reverse engineering窗口里, 点上"Using script files", 再点那个"新建"的图标, 会出来个选择文件的对话框,选择script file的位置.then press "OK".
3. 生成ER diagram

可以直接连接数据库生成,但是有中文注释时,生成的symbols中中文注释是乱码,没找到解决办法。最后把对应的表dump sql出来,再用Power designer反向生成,就没有乱码了。


三、设置外键

在Palette面板里,选择Reference,从从表拉到主表就可以了。前提条件是,主表要设置主键,并且列名要相同。


四、导出为图片

Ctrl+A选择所有,在Edit--Export image,选择导出格式,然后导出。


五、字段设置不能为空

在字段的属性里勾选mandatory选项,在设计表的界面里简写成“M”。


六、表的字段编辑中,name和code不要同步
Tools->GeneralOptions->General Options对话框。Category中选择Dialog。取消右边“Name to Code mirroring”。

七、表关联显示名字
在reference也就是关联线上右键,format->content->center->stereotype,在null, name, constraint name, join中选择。constraint name是物理上的外键名,join则显示两个表的id。
这个配置在 get format, apply format这样的操作中不会复制,所以配起来很麻烦。默认新建reference时会自动显示constraint name的,但我的Powerdesigner没有自动出来,不知道是哪个配置起作用,还没有找到。
format还可以对所有对象起作用,在空白处右键--format中配置,在应用的时候可以选择应用于某种类型的对象,也可以应用于所有对象。

八、将注释写到name中的脚本
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

Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next

Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
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
  评论这张
 
阅读(1603)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017