您的位置:首页 > 数据库

PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题

2018-02-22 16:52 881 查看
本章节讲解,使用PowerDesigner16.5数据库建模时快速上手遇到的一些问题及如何解决问题的过程:

如下图所示,创建模型:



如下图,选择物理模型的同时指定数据库管理系统:



如下图,选择Table新建表,点击之后在中间位置点击一次即可,选择如下图剪刀上面的图片开始进行操作:



如下图,本次只演示一下,因此使用两个字段信息来演示,需要使用注解就是直接在Name列来描述Code的字段的作用:



如下图,选择如下图进行视图里面的操作,接下里的操作如下图后面的图操作:



如下图,操作如下 Select Attributes视图,勾上CodeAttribute Name顺序如下即可:



如下图,满足了所需的要求:



如下图,在视图显示表的comment注释的操作:





如下图,选择合适的数据库系统:



如下图,表导出sql文件需要注意的一些问题:



导出SQL文件时,把Name列设置code列的注释,操作步骤如下:

步骤一:Database->Edit Current DBMS,如上图。

步骤二:如下图:

方法一:



以上是默认内容:

comment on column

[%QUALIFIER%]%TABLE%.%COLUMN% is

%.q:COMMENT%

改成:

comment on column [%QUALIFIER%]%TABLE%.%COLUMN% is

%.q:COLNNAME%

方法二:

操作:Database–>Edit Current DBMS,进入下图页面,

然后分别将

Script–>Objects–>Table–>TableComment

Script–>Objects–>Column–>ColumnComment

修改成

alter table [%QUALIFIER%]%TABLE% comment %.60qA:COMMENT%

alter table [%QUALIFIER%]%TABLE% modify column %COLUMN% %DATATYPE% comment %.60qA:COMMENT%

步骤三:解决当comment为空时,则不能生成注释的问题:

物理模型生产数据库时,Database->Generate Database..

在Format标签选项中,将Generate name in empty comment,勾选上,默认不勾选,同时设置编码Encoding防止乱码发生。



如下,有两个脚本的生成注释的作用:

把comment的内容替换成name列的内容

[plain] view plain copy print?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
col.comment= col.name
next
end if
next

Dim  
db66
;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
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
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


把name列的内容替换成comment列的内容

[plain] view plain copy print?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
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


如下图,执行命令:



powerdesigner中给一主键设为自增型auto_increment,光标选中该列右键选择properties或者按快捷键
alt+enter,勾选Domain后面的Identity即可,然后查看preview。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐