PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题
本章节讲解,使用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列的内容
- 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
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列的内容
- 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。
本章节讲解,使用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列的内容
- 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
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列的内容
- 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。
下一篇: python面向对象编程