在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库。系统数据库设计人员希望能够将数据库设计和关系数据库生成无缝地集成起来,如何保证物理数据模型与其对应数据库之间的双向同步成为数据建模非常关键的一点。

Powerdesigner作为强大的Case工具,为我们提供了方便的逆向工程特性。可以将目前所有流行的后端数据库(包括Sybase、DB2、Oracle等)的结构信息通过逆向工程加入到PowerDesigner的物理数据模型和概念数据模型中,包括表、索引、触发器、视图等。

本文介绍的内容仅涉及PDM(物理数据模型)的逆向工程。

PDM中的逆向工程是指从现有DBMS的用户数据库或现有数据库SQL脚本中生成PDM的过程。逆向工程有两种对象:1)通过ODBC数据源连接数据库 2) 现有数据库sql脚本。

本文示例的系统环境如下:

1、 数据库已创建完毕,访问用户和密码设置完成。数据库为Oracle9i。

2、 ODBC数据源已由oracle 的Net Configuration Assistant 创建,本地网络命名服务“Database”。

3、 sql脚本示例crebas.sql。

4、 Powerdesigner9.5已安装完成。 一、 通过数据源连接数据库逆向工程生成PDM 
1、 配置用户数据库连接参数

选择Database->configure connections,转到system dsn标签,

点击Add按钮,选数据库类型Oracle,点击完成。显示如下:输入DataSource Name“PDMTest”;输入ServerName“Database”, 配置完成。

点击“Test Connect”输入ServerName“Database”,用户名和密码,若连接成功,显示如下:

以后每次连接,选择Database?connect,选择odbc数据源,输入ServerName“Database”,用户名和密码。若无提示,则说明连接成功。同时,可以通过Database?Connection Information 查看连接信息。

2、 设置逆向工程选项,生成pdm

创建一个PDM文件,选择与之匹配的数据库类型“oracle9i”。

选择Database?Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“PDMTest”

点击确定后,显示此数据库中所有表、视图、用户。根据需要选择后,转换成pdm。

3、 查看数据

对于生成好的PDM,选择一个表图形符号,点击右键,选择View Data,就可以访问表中的数据了。

二、 通过SQL脚本逆向工程生成PDM

1、 数据库SQL脚本文件crebas.sql。下为脚本实例: 
/*==============================================================*/ 
/* Database name: PhysicalDataModel_1 */ 
/* DBMS name: ORACLE Version 9i */ 
/* Created on: 2003-07-13 10:49:08 */ 
/*==============================================================*/ 
/*==============================================================*/ 
/* Table: "class" */ 
/*==============================================================*/ 
create table "class" ( 
"classID" NUMBER(2) not null, 
"className" VARCHAR2(24), 
constraint PK_CLASS primary key ("classID") 


/*==============================================================*/ 
/* Table: "student" */ 
/*==============================================================*/ 
create table "student" ( 
"studentID" NUMBER(10) not null, 
"studentName" VARCHAR2(4), 
"classID" NUMBER(2), 
constraint PK_STUDENT primary key ("studentID") 


alter table "student" 
add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID") 
references "class" ("classID") 
/

2、 创建一个pdm,选择Database?Reverse Engineer Database,选择Using script files。

3、 看到由脚本自动生成相关的PDM如下所示:

下面是表名的中文及字段的name和comment的替换问题

PowerDesigner中name和comment互換 
PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name

执行方法:Open PDM -- Tools -- Execute Commands -- Run Script

Vb script代码 
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

使用Powerdesigner的逆向工程生成PDM(主要是注释可以放进去)相关推荐

  1. 使用PowerDesigner逆向工程生成pdm文件(超全)

    使用PowerDesigner逆向工程生成pdm文件(超全) 1.安装完成PowerDesigner15软件 2.安装oracle连接简易客户端 instantclient_11_2,并配置 tnsn ...

  2. 干货:SQLServer数据库基于PowerDesigner逆向工程生成PDM文件

    在日常的开发工程中,很多时候需要提供数据库设计文档,如果当时数据库设计没有采用PowerDesinger,到后期需要给客户提供数据库设计文档.后期项目运维就会比较麻烦,今天给大家介绍如何使用Power ...

  3. pd16.5生成mysql列说明_PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)

    一.编辑当前DataBase 选择DataBase-->edit Current DBMS... 弹出如下对话框: 如上图,先解释一下: 根据红颜色框从上往下解释一下. 第一个红框是对应的修改的 ...

  4. PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)

    一.编辑当前DataBase 选择DataBase-->edit Current DBMS... 弹出如下对话框:  如上图,先解释一下: 根据红颜色框从上往下解释一下. 第一个红框是对应的修改 ...

  5. PowerDesigner 导入sql生成pdm文件

    1.首先连接数据库导出表结构生成sql文件 2.打开PowerDesigner 导入sql文件 根据sql数据库类型选择对应的DBMS 选择sql文件 4.看到数据模型,双击点开任意一张表 勾选要展示 ...

  6. powerdesigner导入sql生成pdm没有注释_PDM手写签名实现方法

    我们知道文件在PDM中审批完成后,可以通过流程操作将审批人员的姓名填写到对应的栏位,但是常规情况下,填写的都是电脑常规字体的签名:然而,如今越来越多的客户希望签上的是他们的手写签名.本文将介绍如何在P ...

  7. PowerDesigner 16逆向工程,MySQL数据库的生成PDM物理数据模型文件

    很多项目在前期的快速迭代时期并没有很多项目文档保存下来,在项目已经成熟之后往往需要补齐项目文档,PowerDesigner是一款非常优秀的数据库建模工具.本文就讲解一下如何利用PowerDesigne ...

  8. pdm软件linux,PowerDesigner 物理数据模型(PDM) 说明

    一.     PDM 介绍 物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系:数据库的物理设计阶段必须在此基础上进行详细的后台设 ...

  9. 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...

    如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM) pdm做好后,最终是要将其转化为数据库实体的. 1.确认当前Powerdesigner设置的d ...

最新文章

  1. linux上安装pycharm
  2. java获取系统电量_android操作系统怎么获得电量
  3. 【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
  4. 排序算法-02直接插入(python实现)
  5. Makefile 的 遗漏分隔符错误信息
  6. 基于T4模板的文档生成
  7. DataSet DataTable DataReader DataAdapter之间的区别
  8. vs code为什么不出现小黑框_为什么越来越多商家开通微信小程序商城?
  9. 列转行 oracle11g,PostgreSQL 实现列转行问题
  10. 写一篇简单的微信接入
  11. 8款精致的纯CSS3按钮特效
  12. Web页面无法执行CGI的exe程序
  13. tpshop php版本,TPshop安装向导 - Powered by TPshop
  14. 抖音_利用python实现字符串跳舞~背景音乐异常处理
  15. C/C++ 中 exit() 函数
  16. 在MindMapper中怎样进行添加附件
  17. win10关机后cpu风扇还在转_解决win10关机后风扇继续转方法
  18. Python 之return 自定义返回值
  19. linux 宝塔镇河妖
  20. 2, excel vba 来一个简单好玩的

热门文章

  1. Intel Realsense D435 报错 Couldn't resolve requests
  2. yunyang tensorflow-yolov3 Intel Realsense D435 (并发)调用两个摄像头运行识别程序并画框
  3. python 结构风险与经验风险 VC维 SRM SVM
  4. sqlserver yml配置文件
  5. Divan and bitwise operations 异或,同或,组合数学(1500)
  6. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程
  7. .net mvc 报表_FastReport.Net已实现对.Net 5.0的支持
  8. SpringBoot实现Redis分布式锁
  9. QT 托盘图标退出延迟解决方案
  10. mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 public: __cdecl about::about(class QWidget *) (??0abo