转:Powerdesigner逆向工程从现有数据库生成PDM-程序员宅基地

技术标签: 数据库  

        在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库,现在反过来,通过逆向工程将关系数据库,生成物理数据模型。

优点:

         在丢失数据模型或者数据库模型同现有的数据库不一致,可以通过该方法生成使用中数据库的模型

缺点:

         还原回的模型中,可能会没有中文注释,没有表外键对应关系(字段还有,索引关系没了)

前提:

        1,确认要生成模型的数据库是最新的,并且可以使用

        2,安装Powerdesigner软件

具体操作步骤:

一,建立ODBC数据源

        1, 打开系统ODBC数据源,位置“控制面板--管理工具--数据源(ODBC)

        2,选择系统DSN,点击添加按钮,会弹出如下界面,选择与数据库相匹配的驱动程序

        3,点击完成,弹出数据源名称(自定),和选择你要连接的数据库。  

        4,选择确定后,该数据源建立成功,可以双击该数据源名称进行连接测试。   

        5,至此数据源建立完成,当然这些也可以不用在这里建立,在powerdesigner里也可以建立,建立方法为

  选择Database->configure connections,转到system dsn标签,点击Add按钮,选数据库类型DB2,点击完成。显 示如下:输入DataSource Name“PDMTest”;输入ServerName“Database”, 配置完成。   

        

二,在Powerdesigner中逆向生成

      1,打开Powerdesigner工具,创建一个PDM文件,选择与之匹配的数据库类型“ibm db2 udb 8.x common server”。创建方法为:右键点击左侧面板中的WorkSpace---->new------>physical data nodel  ,在DBMS中选择你要的数据类型,选择好后点击确定,则新建立了一个工作空间。

      2,选择Database菜单下的Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“s2ms”。 

      3,点击确定后,显示此数据库中所有表、视图、用户(这个选择一下该数据库的用户)。根据需要选择后,转换成pdm。 

      4,选择好后,点击OK,则生成模型。

 

三,利用脚本生成模型

       如果你不光有个正在使有的数据库,你还有一下建立库的脚本,那你发财了!因为用.sql的脚本生成的模型,就不存在用数据库生成的缺点了,具体操作如下:

通过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如下所示:

   


四,生成模型后要导出数据库建库脚本

    导好的模型,当然是用来修改和导出建库脚本的,操作方法如下

     1,选择database--->generate database弹出如下窗口

   

在用户的none中选择数据库用户,同时可选要导出的表,最后点击确定,如果不能正常生成脚本提示模型错误,则在上图中的options中将check modle 的选项去掉,点击确定,生成sql脚本,

 这时生成的脚本不要着急去用,因为可能是有问题,用记事本或其它工具打开这个脚本,你会发现在所属名上也就是s2ms上都会加上""号,用Ctrl+H,将所有"替换为空,就大功告成了!

转载于:https://www.cnblogs.com/jinqiuqiu1120/archive/2010/10/22/1858141.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34249367/article/details/93255361

智能推荐

Android-版本说明-安全隐私-1.5~4.1_android 隐私说明大全-程序员宅基地

文章浏览阅读528次。Android 1.5 至 4.1 中的安全增强功能 | Android 开源项目 | Android Open Source Project_android 隐私说明大全

springboot多模块下无法导包的问题_there are circular dependencies between: 1. 'crm_6-程序员宅基地

文章浏览阅读442次。[ERROR] Some problems were encountered while processing the POMs:_there are circular dependencies between: 1. 'crm_6x_core' module, 'busiframe

hping3工具DOS攻击实验_hping3 100%loss-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏19次。需要两台机器,一台扮演攻击源,另一做目标源。 攻击源地址:10.0.40.4 被攻击机器地址:10.0.40.246 2 被攻击的机器上安装tcpdump,tcpdump主要是用来抓包的,看看网络数据包是否到达。 $yum install tcpdump -y 3 首先开启tcpdump抓取来自攻击源的数据包,其他数据包应该过排除。 $tcpdump -i eth0 src host 10.0.40.4 -i 是选择哪个网卡 ..._hping3 100%loss

什么是PV、UV和IP-程序员宅基地

文章浏览阅读166次。查看过网站统计的菜鸟经常会PV、UV和IP都是指什么,下面就解释一下。PV是Page View的缩写,翻译成中文叫做“页面访问量”。UV的全称是Unique Visitor,意思是“独立访问者”。IP就不要解释了,就是我们上网的时候使用的IP。看过英文的全称和汉语的解释就很容易理解这三个值了。PV就是指网站的总访问量,刷新一次就是一个PV值。IP就是有一个新IP访问..._pvtwrip

删除win10linux系统,Windows10系统如何重置/注销Linux子系统-程序员宅基地

文章浏览阅读318次。在windows10系统中,如果启用“适用于Linux的Windows子系统(WSL)”安装的某个Linux发行版子系统(例如Ubuntu)出现了问题的话,我们可以注销Linux子系统的发行版,也可以将其重置为默认值,那么Windows10系统如何重置/注销Linux子系统呢?下面给大家分享一下具体的操作步骤。一、重置Linux子系统这个不需要命令行操作,在《Windows设置》中即可直观地进行操..._在window的linux存在之前删除的系统

deepfakes视频的网站_惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?!-程序员宅基地

文章浏览阅读2.9k次。原标题:惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?!选自 arXiv作者:Pavel Korshunov、Sebastien Marcel机器之心编辑部今年年初,DeepFakes 技术火爆全网,它可以轻松替换视频中的人脸。网络上各种恶搞视频(其中大量是色情视频)让人分不清真真假假,那么人脸识别系统能够检测出哪些是 DeepFakes 生成的视频吗?这项研究告诉我们不太行……自动视..._deepfake换脸视频

随便推点

Algs4-1.5.3使用加权quick-union算法完成练习1.5.1-程序员宅基地

文章浏览阅读346次。1.5.3使用加权quick-union算法(请见算法1.5)完成练习1.5.1。 转载于:https://www.cnblogs.com/longjin2018/p/..._用quick union完成练习1.5.1

OpenCV_Mat类对象的基本操作、常用操作及相关成员函数介绍_cv::mat.row-程序员宅基地

文章浏览阅读1.2k次。OpenCV_Mat类对象的基本操作、常用操作及相关成员函数介绍_cv::mat.row

UIButton的竖排图片和文本-程序员宅基地

文章浏览阅读51次。UIButton的竖排图片和文本html, body {overflow-x: initial !important;}.CodeMirror { height: auto; }.CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; }.CodeMirror-lines { padding: 4px 0px; }.Code..._ui web 竖向按钮

sniper 3d android,Sniper 3D Shooter by i Games-程序员宅基地

文章浏览阅读55次。Sniper 3D Shooter by i Games 介绍Sniper 3D Shooter by i Games来自应用汇:Sniper 3D Shooter by i Games http://www.appchina.com/app/com.igames.snipershooterterminator?from=spi-descSniper 3D Shooter by i Games ..._sniper shooter games

螺丝头部及其相关知识点_螺丝c头和p头区别-程序员宅基地

文章浏览阅读1.6k次。声明:本文转载于百度文库螺丝规格编定解析举例:4 X 10 PW A . H .C (+)(1) (2) (3) (4) (5) (6) (7)(1)螺丝直径(如上述螺丝规格中的“4”)(2)螺丝长度(如上述螺丝规格中的“10”)(3)螺丝头型(如上述螺丝规格中的“PW”) V: 蘑菇头 C: 圆柱头F(K): 沉头 H: 六角头 HW: 六角..._螺丝c头和p头区别

FPGA实现VGA显示(六)——————多字符显示及基于fpga的“打字机”实现_vga在屏幕不同的位置同时显示多段字符-程序员宅基地

文章浏览阅读5.4k次,点赞7次,收藏58次。前面笔者总结了如何显示单字符,设立通过一个简单的任务来总结如何实现vga多字符显示。实验要求基础:由PC通过UART发送数据在VGA显示。数据可以为字母,数字,汉字(任选10个字),VGA分为左右两个区域,输入字母或者数字时在VGA左边显示,输入汉字时在VGA右边显示。发挥:有删除功能,可通过按键删除显示的数字,字母或者汉字。左边的按键按下字母或者数字删除,右边的按键按下汉字删..._vga在屏幕不同的位置同时显示多段字符

推荐文章

热门文章

相关标签