PowerDesigner使用实践

PowerDesigner使用实践

一、前言

1.简介

PowerDesigner DataArchitect 是业界领先的数据建模工具。 它提供了一种模型驱动的方法来增强业务和 IT 的能力并使其保持一致。 PowerDesigner 使企业能够更轻松地可视化、分析和操作元数据,以实现有效的企业信息架构。

PowerDesigner 独特地结合了多种数据建模技术(传统的概念、逻辑和物理建模与独特的商业智能和数据移动建模),将业务分析与正式的数据库设计解决方案结合在一起。 PowerDesigner 可与 60 多个关系数据库管理系统配合使用。

使用独特的链接和同步技术完全集成模型。 模型集成了所有模型类型,以进行完整的企业范围或项目范围的影响分析。 影响分析简化了沟通和协作,从而显着提高整个组织对变革的响应能力。

2.环境

  • Windows 10
  • Power Designer 15.2

PowerDesigner 官网:https://www.powerdesigner.biz/

PowerDesigner 百度百科:https://baike.baidu.com/item/power%20designer

二、使用实践

1.导入MySQL表

1)MySQL客户端导出表

  • 使用 Navicat 导出数据库结构

PowerDesigner使用实践_第1张图片

2)修改SQL语句

  • 由于PD无法解析部分SQL建表语句,导致注释(Comment)丢失,所以需要去掉部分SQL语句

(1)字符

  • 原内容:
`titile` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题'
  • 修改为:
`titile` varchar(100)  NULL DEFAULT NULL COMMENT '标题'
  • 以下 2 个SQL语句替换为空字符串:
CHARACTER SET utf8 COLLATE utf8_general_ci

CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

(2)时间

  • 原内容:
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  • 修改为:
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  • datetime(0) 替换为 datetime

3)导入MySQL表

  • File - Reverse Engineer - Database…

PowerDesigner使用实践_第2张图片

  • 输入数据模型名称
  • 选择 MySQL 5.0

PowerDesigner使用实践_第3张图片

  • 选择 SQL 文件,然后点击确定

PowerDesigner使用实践_第4张图片

2.Name替换为注释(Comment)

  • Tools - Execute Commands - Edit/Run Script…

PowerDesigner使用实践_第5张图片

  • 运行脚本,脚本内容:
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.comment
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

3.取消Name和Code的关联

  • Tools - General Options…

PowerDesigner使用实践_第6张图片

  • 勾选 Name to Code mirroring

PowerDesigner使用实践_第7张图片

4.表设计自定义列

  • 自定义列

PowerDesigner使用实践_第8张图片

  • 勾选 Comment

PowerDesigner使用实践_第9张图片

  • 最终效果

PowerDesigner使用实践_第10张图片

5.设置格式(样式)

  • 表模型 - 右击 - Format…

PowerDesigner使用实践_第11张图片

  • 修改背景色

PowerDesigner使用实践_第12张图片

6.创建物理模型

  • File - New Model…

PowerDesigner使用实践_第13张图片

  • Model types - Physical Diagram
  • 填写数据模型名称,选择 MySQL 5.0

PowerDesigner使用实践_第14张图片

7.表模型显示注释(Comment)

  • 表模型显示出第三列,效果如下:

PowerDesigner使用实践_第15张图片

  • Model - Extended Model Definitions…

PowerDesigner使用实践_第16张图片

  • 点击空白处

PowerDesigner使用实践_第17张图片

  • 点击 Properties 按钮

PowerDesigner使用实践_第18张图片

  • Profile - Add Metaclasses…

PowerDesigner使用实践_第19张图片

  • 勾选 Column

PowerDesigner使用实践_第20张图片

  • Column - New - Extended Attribute

PowerDesigner使用实践_第21张图片

  • General 选项卡

PowerDesigner使用实践_第22张图片

  • %Get% = “” 更改为 %Get% = Rtf2Ascii (obj.Comment)

PowerDesigner使用实践_第23张图片

PowerDesigner使用实践_第24张图片

  • Tools - Display Preferences…

PowerDesigner使用实践_第25张图片

  • Table - Advanced…

PowerDesigner使用实践_第26张图片

  • Columns - 点击 Select 按钮

PowerDesigner使用实践_第27张图片

  • 勾选刚刚新建的 Attribute Name

PowerDesigner使用实践_第28张图片

  • 表模型显示注释列

PowerDesigner使用实践_第29张图片

你可能感兴趣的:(#,Tools,PowerDesigner,Power,Designer)