PowerDesigner 使用小结

  这里总结一篇关于数据建模工具 PowerDesigner 的使用小技巧,下面列出的两个应用场景要在网上现找解决方案的话还真不一定好找,所以选择将这两个棘手的问题先记下来。

1. PDM 中表间关系出现多引用情况

  这种情况一般是在由 LDM 生成 PDM 时,对于一对一联系,没有指定主从表关系,如图:

  

  导致生成的 PDM 中出现一对一关系出现两个引用:

  

    如果指定了 Dominant role ,则只会产生一个引用:

  

  

2. 去外键问题

  默认情况下,通过 PDM 生成数据库初始化脚本时会带有外键生成脚本,如下:

  如果在 PDM 的关系属性中将 Generate 后面的钩去掉则可解决(话说这个问题还卡了蛮长时间,最后是一个老工程师指点的)

  

3. 在 PDM 中将字段命名格式改成下划线分隔形式

  需要进行操作: Tools -> Excute Commands -> Edit/Run Script , 如下图:

  

  选择执行脚本文件: ToLowerCase.vbs :

  

  

  最后点击 Run 即可,点完不会有任何弹窗予以提示,可直接点击 PDM 中的表查看。这里将 ToLoweCase.vbs 中的代码共享一下:

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim mdl ‘ the current model
Dim i

‘ 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 Function ToLowerCase(input)
  Dim result, ch, prevIsUpper
  result = ""
  For i = 1 to Len(input)
    ch = Mid(input, i, 1)
    If Asc(ch) < 91 And Asc(ch) > 64 Then
      If i > 1 And Not prevIsUpper Then
        result = result + "_"
      End If
      result = result + LCase(ch)
      prevIsUpper = True
    Else
      result = result + ch
      prevIsUpper = False
    End If
  Next
  ToLowerCase = result
End Function

‘ This routine copies the name into code for each table, column and view
‘ of the current folder
Private sub ProcessFolder(folder)
   Dim Tab ‘running  table
   Dim rc ‘return code

   for each Tab in folder.tables
      if not tab.isShortcut then
         tab.Code = ToLowerCase(tab.Code)
         ‘output ToLowerCase(tab.Code)
         Dim col ‘ running column
         for each col in tab.columns
            col.Code = ToLowerCase(col.Code)
            ‘output ToLowerCase(col.Code)
         next
      end if
   next
end sub

原文地址:https://www.cnblogs.com/binye-typing/p/8870086.html

时间: 2024-10-31 08:08:51

PowerDesigner 使用小结的相关文章

第七周作业:powerdesigner使用小结

powerdesigner使用小结 这款软件使得开发人员为了方便进行数据库的建立以及逻辑关系的实现,而不用自己去“手写”代码,代码在数据库建模完成后可以直接的生成. 如果你电脑上安装了这款软件的话可以直接按照下图的方式生成一个后缀名为“.pdm”的文件, 或者直接进入软件后这样建立 然后就可以为你的这个模型命名了Model_name 接下来就是这个页面了: 然后就画图了:这里我事先画好了一个医院的数据库结构 大概的步骤: 1,表格:右面点一下table在左边点一下就有了一个,双击会进入配置的页面

powerdesigner 使用方法小结

PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能.当然,也有不少缺点,比如团队分享. 一.设置PowerDesigner模型视图中数据表显示列 1.Tools-Display Preference- 2.窗口左边Category中General Settings下选择Table 3.窗口右边Advanced- 4.窗口左边选择Columns 5.窗口右边List columns中,选择要显示的列 二.设置PowerDesigner设计表时,自动将name列值中的一

PowerDesigner使用方法小结

PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能.当然,也有不少缺点,比如团队分享. 一.设置PowerDesigner模型视图中数据表显示列 1.Tools-Display Preference… 2.窗口左边Category中General Settings下选择Table 3.窗口右边Advanced… 4.窗口左边选择Columns 5.窗口右边List columns中,选择要显示的列 可以根据自己喜欢的列排序.比如我喜欢的规范一般都是:Name在前,

PowerDesigner之CDM、PDM、SQL之间转换

前段时间用了下PowerDesigner做了一些辅助工作.在此特地小结一下: 有关CDM.PDM.SQL之间转换以及不同数据库之间库表Sql的移植,首先要了解的是它们各自的用途.这里就简单的描述一下,不做详细的解释了. CDM:概念数据模型.CDM就是以其自身方式来描述E-R图.它不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构. PDM:物理数据模型.考虑了数据库的物理实现,包括软件和数据存储结构,即:PDM与具体的数据库有关. 下面做了个简单的例子,简述了CDM

PowerDesigner(六)-物理数据模型(PDM逆向工程)(转)

物理数据模型PDM 物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的. 物理数据模型是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.利用该SQL脚本在数据库中产生现实世界信息的存储结构(表,约束等),并保证数据在数据库中的完整性和一致性.   1.基本概念 1.1表,列,视图,主键,候选键,外部键 1.2存储过程和触发器 1

PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)

概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之间相互理解的共同语言,并不针对具体的数据库平台(如Oracle或SQL Server)和工具(PowerBuilder).CDM所包含的对象通常并没有在物理数据库中实现. CDM可以完成以下工作: 数据图形化,形象化 数据表设计的合法校验 转化为PDM(Physical Data Model,物理数

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

【转载】小结一下linux 2.6内核的四种IO调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation.该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作.之所以说“大致”,原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求.NOOP假定I/O请求由驱动程序或者设备做了优化或者重排了顺序(就像一个智能控制器完成的工作那样).在有些SAN环境下,这个选择可能是最好选择.Noop 对于 IO

PowerDesigner反向工程PostgreSQL数据库

1. 环境准备: a)         安装PowerDesigner,以PowerDesigner15.1为例 b)         安装java jdk,以jdk-7-windows-i586为例 c)         下载postgressql jdbc驱动jar包,以postgresql-8.1-415.jdbc2.jar为例 2. 远程连接PostgreSQL数据库 a)         打开PowerDesigner b)         新建一个空白物理数据模型 点击PowerDe