PowerDesigner使用方法小结

PowerDesigner使用 阅读详情

PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能。当然,也有不少缺点,比如团队分享。

一、设置PowerDesigner模型视图中数据表显示列

1、Tools-Display Preference…

2、窗口左边Category中General Settings下选择Table

3、窗口右边Advanced…

4、窗口左边选择Columns

5、窗口右边List columns中,选择要显示的列

操作步骤

二、设置PowerDesigner设计表时,自动将name列值中的一部分复制到code列

1、把name/code自动复制功能打开。默认是打开的。

Tool-Genneral-Options Dialog-Name to Code mirroring

2、Tools->Model Options….->Naming Convention
3、选中Name,并勾选Enable name/code conversions.
4、选择Name To Code

.set_value(_First, true, new)
.foreach_part(%Name%, "'#'")
.if (%_First%)
.delete(%CurrentPart%)
.enddelete
.set_value(_First, false, update)
.else
%CurrentPart%
.endif
.next
这个例子是把Name内容的#号后边的内容当作Code.

脚本2:
.set_value(_First, true, new)
.foreach_part(%Name%, "'#'")
.if (%_First%)
%CurrentPart%
.set_value(_First, false, update)
.endif
.next
 这个例子是把Name内容的#号前边的内容当作Code.

三、从数据库导入数据到PowerDesigner中后,将comment列值复制到name列

运行脚本 Tools->Execute Commands->Edit/Run Scripts(Ctrl Shift X)

'******************************************************************************
'* File:     comment2name.vbs
'* Purpose:  在PowerDesigner的PDM图形窗口中显示数据列的中文注释
'* Title:    将字段的comment赋值到字段的name中
'* Category: 打开物理模型,运行本脚本(Ctrl+Shift+X)
'* Copyright:foxzz@163.com,2006/07/25 .
'* Author:   foxzz
'* Created:  
'* Modified: 
'* Version:  1.0
'* Comment:  遍历物理模型中的所有表,将字段的comment赋值到字段的name中。
'            在将name置换为comment过程中,需要考虑的问题
'            1、name必须唯一,而comment有可能不唯一。
'               处理办法是如果字段的comment重复,则字段的name=comment+1、2、3...
'            2、comment值有可能为空,这种情况下对字段的name不处理。
'               针对oracle数据库,将comment on column 字段名称 is '';添加到C:/pdcomment.txt文件中。
'               在补充comment完毕后,便于在数据库中执行        
'******************************************************************************

Option Explicit 
ValidationMode = True
InteractiveMode = im_Batch

Dim system, file
Set system = CreateObject("Scripting.FileSystemObject")
Dim ForReading, ForWriting, ForAppending   '打开文件选项
ForReading   = 1 ' 只读 
ForWriting   = 2 ' 可写 
ForAppending = 8 ' 可写并追加
'打开文本文件
Set file = system.OpenTextFile("C:/pdcomment.txt", ForWriting, true)


'判断当前model是否物理数据模型
Dim mdl
Set mdl = ActiveModel 
If (mdl Is Nothing) Then
   MsgBox "处理对象无模型"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
   MsgBox "当前模型不是物理数据模型"
Else
   ProcessFolder mdl,file 
End If
file.Close


'******************************************************************************
Private sub ProcessFolder(folder,file)

Dim i,j,k
i=0:j=0:k=0

'列数组,记录字段里不重复的comment
Dim ColumnComment() 
Dim ColumnCommentNumber()
ReDim Preserve ColumnComment(i)
ReDim Preserve ColumnCommentNumber(i)

Dim tbl   '当前表
Dim col   '当前字段 
dim curComment  '当前字段comment

'处理模型中的表
for each tbl in folder.tables 
    if not tbl.isShortcut then 
       if len(trim(tbl.comment))<>0 then
          '可以在这里显示table的comment
          'tbl.name = tbl.name+"("+trim(tbl.comment)+")"
       end if  

       '处理表中的列
       for each col in tbl.columns 
           k = 0
           curComment = trim(col.comment)
           if len(curComment)<>0 then
              '遍历相异的comment数组
              for j = 0 to i
                  if ColumnComment(j) = curComment then
                     '如果找到相同的comment,则相关计数器加1
                     ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1
                     k = j
                  end if 
              Next
              '如果没有相同的comment,则k=0,此时ColumnCommentNumber(0)也为0
              '否则ColumnCommentNumber(k)不为0
              if ColumnCommentNumber(k) <> 0 then
                 col.name = curComment & cstr(ColumnCommentNumber(k))
              else
                 col.name  = curComment
                 'ColumnComment(0)、ColumnCommentNumber(0)永远为空
                 '将相异的comment记录添加到数组中
                 i = i + 1
                 ReDim Preserve ColumnComment(i)
                 ReDim Preserve ColumnCommentNumber(i)
                 ColumnComment(i) = curComment
                 ColumnCommentNumber(i) = 0
              end if
           else
              '写入文件中
              file.WriteLine "comment on column "+ tbl.name+"."+col.code+" is '';"          
           end if
       next 
    end if 
    '由于不同表的name允许相同,因此此时重新初始化。
    '因为ColumnComment(0)、ColumnCommentNumber(0)为空,可以保留
    ReDim Preserve ColumnComment(0)
    ReDim Preserve ColumnCommentNumber(0)
    i=0:j=0:k=0

next

Dim view  '当前视图
for each view in folder.Views 
    if not view.isShortcut then 
       '可以在这里显示view的comment
       'view.name =  view.comment
    end if 
next

'对子目录进行递归
Dim subpackage 'folder
For Each subpackage In folder.Packages 
    if not subpackage.IsShortcut then 
       ProcessFolder subpackage , file
    end if 
Next

end sub

四、将name列值复制到comment列

运行脚本 Tools->Execute Commands->Edit/Run Scripts(Ctrl Shift X)

'把pd中那么name想自动添加到comment里面
'如果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 
    if trim(tab.comment)="" then '如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面. 
       tab.comment = tab.name 
    end if  
 Dim col ' running column  
 for each col in tab.columns 
  if trim(col.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.
   col.comment= col.name 
  end if 
 next  
  end if  
 next  

 Dim view 'running view  
 for each view in folder.Views  
  if not view.isShortcut and trim(view.comment)=""  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、PowerDesigner中Table视图同时显示Code和Name http://blog.youkuaiyun.com/downmoon/article/details/8108968

2、PowerDesigner Name/Code自动调整(转) http://hi.baidu.com/jonik/item/7d39588c3dda708e4514cf76

3、在PowerDesigner的PDM图形窗口中显示数据列的中文注释 http://blog.youkuaiyun.com/zengzhe/article/details/974205

4、powerDesigner 把name项添加到注释(comment),完美方案! http://www.cnblogs.com/dukey/archive/2010/01/20/dukey.html

原文:http://www.cnblogs.com/afarmer/archive/2012/11/05/2755327.html

PDmanager-开源 保险代理人的开源应用程序。 允许您管理客户、保险合同和佣金。 立即下载

相关推荐

PDManager个人文档数据管理

PDManager是为满足用户对零散或敏感文本资料的管理需求而开发的一 份运行于Win98\WinMe\Win2000\WinXP下的应用软件。 PDManager遵循面向对象设计原则,以Visual C++为开发工具,采用多 文档视框架结构,以数据库文件为信息载体,以数据的加密为储存手段, 将文本资料的管理、编辑、阅读、输出打印等操作融为一体,形成一体化 的应用软件,可用作个人电子日记、电子信件、电子文集等。 系统特点 ======== 1.实现了个人数据多文档一体化集中管理 2.支持多级目录层次结构化管理 3.口令下以密钥分散为手段的的数据安全性管理 4.友好美观的图形化操作管理 使用概述: ======== PDManager以Microsoft Access数据库文件为信息载体,为方便用户对 某一文本资料的查询归类和维护,特仿照Windows操作系统中资源管理器对 文件的管理方式,按树状关系来组织数据库内部记录的逻辑结构,以之展 开对个人文本资料数据的维护操作。在此目录夹起到归类的功能,而文件 才真正承载着用户关注的文本信息(每一文件大大小限制在1Mb内)。用户 可方便的按资源管理器的操作习惯对目录结构和每一文件进增、删、修改 等操作。PDManager还设有与之对应的回收站,其回收站的功能和管理类 同于Windows操作系统的同名概念。 PDManager支持便捷的数据交换,通过不同的导入和导出操作可实现不 同数据库文件间、数据库到外部文件间以及外部目录文件系统到数据库文 件记录的数据交换,更有自动网页生成功能。 在人性化的操作界面上,PDManager将国画艺术装饰艺术融入到界面设 计之中,形成了如“黛玉葬花”“太白醉酒”等多个具有人文特色的界面 主题,同时在操作环节上PDManager全面支持鼠标选择和键盘输入以及快捷 热键操作和拖放操作。 PDManager内置数据加密器,综合使用多种国际通行的加密技术(IDEA \SHA\MD5 \3DES), 对每一文本资料数据做了加密处理, 做到了信息的安全 存放。加密数据的密钥是由用户的口令根据不同数据块自身的标识分散得 出,使得每一文本资料的秘密性得到独立保护, 即一文本的破译不影响另一 文本的安全, 最大限度的减低了信息载体接受非法访问造成信息泄露的风 险性, 同时这种以用户口令分散产生密钥的方法又方便了用户对每一数据 库文件中所有数据的集中管理。 文件列表 ======== 1.PDManager.exe 可执行文件 2.PDManager.hlp 帮助内容文件 3.PDManager.cnt 帮助目录文件 4.PDMRes.dll 资源动态库文件 5.SelUGI.dll 界面选择示例动态库文件(可选件) 6.PDM.sha 完整性验证文件 7.PDMTip.txt 每日一贴文件 8.Readme.txt 自述文件 特别声明:PDManager应用软件采用了对程序代码完整性验证技术, 故请用户不要随便改动程序代码,否则将破坏软件的运行,给你造成不必 要的损失! 软件注册 ======== PDManager是一份共享软件,在未注册前可运行50次。请向作者提供 你的注册码以及姓名地址以获取软件产品的密码。注册费为10元人民币, 在校大中专学生、喜欢业余文字创作的朋友以及曾支持过中国学生为民主 教育权利抗争奋斗过的人士均可获得免费注册。 注:注册是是单机注册,即每次注册只对一台机器有效。 版权声明 ======== PDManager版权归劈山问天文化传播工作室所有,熊怀欣享有著作权。 任何未经作者授权擅自将本软件之全部或部分用于商业活动的行为均为侵 权行为,将在法律范围内承受严厉的全面制裁。 与PDManager同期发行的软件有《CAFTA计算机辅助故障树分析2000 演示版》套装软件,该软件为可靠性分析专业绿色软件,免费使用,无须 注册。欢迎来人来函索取。

关于国产数据库表设计PDManer工具的使用

关于国产数据库表设计PDManer工具的使用一 PDManer简介二 PDManer的使用1 简单案列说明1 界面说明2 内容说明1 数据表2 视图3 关系图4 数据字典 一直以来,对于数据库的表设计,都是采用PowerDesigner工具. 最近发现一款国产软件PDManer,在表设计方面,更加轻量化,更加灵活,也提供了更多的附加功能. 一 PDManer简介 PDManer是一款国产开源的简单好用的数据库建模工具.2018年推出开源公开版,历经数年,截止2022年4月17日推出最新版PDManer元

ABestRookie的博客 4万+

pdmaner元数建模 v4.9.0.zip

pdmaner元数建模 v4.9.0.zip

pdman 创建表同步数据库_使用PDMan来设计数据库系列1-PDMan软件的简介与安装

前言最近除了做好手上的工作外,也需要开始设计一套数据库用来存储实验室的全套数据,可能会涉及多个表的交叉引用,为了更加高效和准确的进行设计,需要用到数据库模型建模工具。这里选择的是开源的PDMan。简介PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,是PowerDesigner之外,更好的免费的替代方案。他具有颜值高,使用简单的特点。包含数据库建模,灵...

weixin_39609718的博客 643

Power Stage Designer Tool 4.0

Power Stage Designer Tool 4.0

PDMan-国产免费通用数据库建模工具

亲测,页面简洁非常实用。上传文件为windows版本,其他版本请再去寻找。 1.免费使用。 2.功能简洁,去除晦涩难懂的设置,化繁为简,实用为上,上手非常容易。 3.自带参考案例,学习容易。新建一个项目,完全不需要做任何配置。 4.对开发极其友好,可生成各种数据库以及编程语言的模型类。 5.一键自动生成MarkDown以及HTML格式的数据表结构文档,方便客户交付以及交流。 6.数据库模型版本管理功能,在版本变动之后,可直接生成数据表结构的DDL语句。 7.数据库模型设计直接同步至数据库。 博客:http://t.csdn.cn/23Am3

powerdesigner 使用方法小结

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34137799的博客 99

基于phpstudy搭建pikachu靶场

一、phpstudy下载安装配置 phpstudy介绍 简单介绍一下phpstudy,详细请参考百度解读。pikachu是基于PHP环境搭建的,需要数据库支持,所以装pikachu之前需要先安装它需要的环境,就像你养鱼需要给它提供水环境一样。安装phpstudy能满足pikachu的需求,所以先安装phpstudy。 phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是

ptxybird的博客 1万+

【转】PowerDesigner使用方法小结

  本文转自:http://www.cnblogs.com/afarmer/archive/2012/11/05/2755327.html PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能。当然,也有不少缺点,比如团队分享。 一、设置PowerDesigner模型视图中数据表显示列 1、Tools-Display Pref...

weixin_34296641的博客 87

还在手敲LaTeX公式?用Rime小狼毫打造你的专属数学输入法(附完整配置包)

本文介绍如何利用Rime小狼毫输入法引擎打造专属数学公式输入方案,显著提升LaTeX公式输入效率。通过详细配置教程和智能补全技巧,帮助科研人员和学生实现3-5倍的输入速度提升,特别适合学术写作和技术文档创作场景。

weixin_32520601的博客 282

Matlab并行运算

今天搞了一下matlab的并行计算,效果好的出乎我的意料。 本来CPU就是双核,不过以前一直注重算法,没注意并行计算的问题。今天为了在8核的dell服务器上跑程序才专门看了一下。本身写的程序就很容易实现并行化,因为beamline之间并没有考虑相互作用。等于可以拆成n个线程并行,要是有550核的话,估计1ms就算完了。。。 先转下网上找到的资料。 一、Matlab并行计算原理梗概 Matl

wenyusuran的专栏 1万+

PowerDesigner 技巧小结

1、PowerDesigner 使用 MySQL 的 auto_increment  ◇问题描述: PD怎样能使主键id使用MySQL的auto_increment呢? ◇解决方法: 打开tableproperties窗口→columns→选中id列→打开columnsproperties窗口→勾选identity即可 注意:概念模型没有此选项,物理模型才有 2、PowerDesi

蜡笔小辛的专栏 1万+

大模型之Spring AI实战系列(二):Spring Boot + OpenAI 打造聊天应用全攻略

本篇文章是《Spring AI实战》专栏的第一篇开发入门文章,我们将借助一个完整的OpenAI聊天应用示例,详细介绍如何运用Spring Boot和Spring AI快速搭建一个支持OpenAI API的聊天服务,全面涵盖基础对话、流式对话、多提供商配置等核心功能。

寻道AI,探索AI无限可能! 6867

PowerDesigner导出Word或者HTML文件小结

1.PowerDesigner导出Word或者HTML文件,具体步骤如下: 第一步:在“报告”中选择“Reports...”,如下图所示: 第二步:选择“New Report”,如下图所示: 第三步:在“Report name”文本框中输入导出文件的名称;        在“Language”中选择语言,“Simplified Chinese”代表简体中文;

XMM_1030的专栏 4999

【FF-A】第二章 Introduction

Armv8.4 架构引入了在安全状态下的虚拟化扩展。Arm® SMMU v3.2 架构[1]为安全流添加了对第2阶段翻译的支持,以补充在 Armv8.4 处理器状态下的安全 EL2 翻译制度。这些架构特性使得在安全状态下,彼此不信任的软件组件能够相互隔离。关于在安全状态下引入虚拟化扩展以及固件框架目标的更多理念可在名为《在安全世界使用虚拟化进行隔离》的白皮书[3]中找到。软件组件只能访问物理地址空间和系统资源的区域,例如 GIC 中对其正确运行必要的中断。

baron-周贺贺-代码改变世界ctw 528

Davinci配置临界区Exclusive Area

在Exclusive Area专属区域内的代码段执行不会被中断,可以用于保护多个Runnable间的共享资源。Exclusive Area会对RTE的调度策略和配置进行约束。如果两个或多个Runnable指向同一个Exclusive Area,那么只有其中一个Runnable被允许在该Exclusive Area内执行。即这些Runnable在ExlcusiveArea内执行时不能并发运行(相互抢占)。:在完整执行期间,整个runnable都在临界区运行。:执行期间可以进入临界区。

qq_42851449的博客 505
上一篇: durid “register mbean error”解决办法
下一篇: yum的简单使用
AiHubMax
博客等级 码龄15年 27粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值