问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用Powerdesigner的PDM生成数据库及逆向生成

发布网友 发布时间:2022-04-07 22:12

我来回答

1个回答

热心网友 时间:2022-04-07 23:42

  转载 首先,这是我从我自己的希赛BLOG上搬来并稍稍修改滴,本人自从上了csdn,感觉还是把blog搬到csdn比较好!嘿嘿!下面是正文:

  pdm做好后,最终是要将其转化为数据库实体的。这里pdm想必大家都知道是什么文件,对的,英文是physiyc data model 也就是物理数据模型。
  1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:
  Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。

  2.配置Powerdesigner与数据源的连接
  Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源
  3.连接
  Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
  OK,设置好连接后我们就可以将pdm生成sql语句了。
  4.数据库生成
  Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
  拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。

  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 files。

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

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

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

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

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

  这时生成的脚本不要着急去用,因为可能是有问题,用记事本或其它工具打开这个脚本,你会发现在所属名上也就是s2ms上都会加上""号,用Ctrl+H,将所有"替换为空,就大功告成了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 为什么我尿尿会臭? 金针菇是什么时间成熟的?是什么季节 唱歌时怎么能进入通道呢? 早上刚刚起来唱歌如何快速进入状态?(一起来的时候嗓子没打开,注意要快) 唱歌开头找准进唱有技巧吗? 跟着伴奏唱歌时怎样才知道什么时候开始唱, 唱歌怎样才跟得上节奏,知道什么时候停,什么时候唱呢 唱歌怎么跟上节拍,如何知道什么时候开始唱呢 跟着伴奏带唱歌的时候,怎样知道什么时候进唱? 我是深圳集体户口,我想把我老公的户口跟我随迁过来,需要什么手续? 华为手机进水了,已经三天了,水都干了,还是开不开机,并且一直震动,后面还亮着,怎么办,在线等,很急 荣耀10手机下半身进水 怎么办?怎么处理? 华为畅享10plus进水振动个不停? 进水的华为手机一直抖为什么 手机进水后不停震动,怎么办 浙江国家开放大学共有多少个本科专业? 把IP改了还能不能上网 手动设置IP地址后为什么就不能上网了? 手机校园网修改静态ip后显示已连接但是无法上网 小米5手机连不上网,显示ip配置失败。修改静态ip后能联网不能上网怎么办? 为什么我的尿特别臭? 尿尿特臭怎么回事 电脑全国一级是什么? 全国计算机一级考试考哪些科目? 刚刚接到一个电话,手机上显示"请接电话"的字样是怎么回事啊? 接电话时说什么最礼貌? 手机为什么打不出去电话却一直显示请接听系统电话 接电话时的 礼貌用语 打电话时出现请接听系统来电因什么意思 接电话有哪些礼节 苹果卸载app跟删除app有什么区别 苹果手机删除app和卸载有什么不同 毛骗酒托是第几集 苹果卸载app和删除app区别 城市边缘电视剧酒托女是谁 近期热播的五部高分电视剧,每一部都是好评如潮,有你喜欢的吗? 近期热播的五部高分电视剧。《御赐小仵作》榜上有名,你正在追哪一部呢? 红旗渠秀芳扮演者 错过一部都可惜,口碑炸裂的国产良心剧,你推荐哪几部? 2021年五部高分电视剧,《叛逆者》没进前五,你追过哪几部?