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----&gtnew------&gtphysical 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---&gtReverse Engineer Database,选择Using script files。 3、 看到由脚本自动生成相关的PDM如下所示: 四,生成模型后要导出数据库建库脚本 导好的模型,当然是用来修改和导出建库脚本的,操作方法如下 1,选择database---&gtgenerate database弹出如下窗口 在用户的none中选择数据库用户,同时可选要导出的表,最后点击确定,如果不能正常生成脚本提示模型错误,则在上图中的options中将check modle 的选项去掉,点击确定,生成sql脚本, 这时生成的脚本不要着急去用,因为可能是有问题,用记事本或其它工具打开这个脚本,你会发现在所属名上也就是s2ms上都会加上""号,用Ctrl+H,将所有"替换为空,就大功告成了![@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/106285/viewspace-1017616/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/106285/viewspace-1017616/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值