河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华1使用PowerDesignerPowerDesignerPowerDesignerPowerDesigner创建物理数据模型和逆向工程单位:河南恩湃电力技术有限公司部门:IT部-应用集成项目组编写:刘志华日期:2010-4-16河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华21111、PowerDesignerPowerDesignerPowerDesignerPowerDesigner简介简介简介简介..............................................................................................................32222、PowerDesignerPowerDesignerPowerDesignerPowerDesigner主要包括功能............................................................................................33333、PowerDesignerPowerDesignerPowerDesignerPowerDesigner工作区介绍.................................................................................................34444、新建物理数据库模型(PDMPDMPDMPDM)...........................................................................................55555、将物理数据模型(PDMPDMPDMPDM)导出为数据库语句...................................................................96666、将物理数据模型(PDMPDMPDMPDM)直接生成表到数据库.............................................................127777、逆向工程(从数据库到PowerDesignerPowerDesignerPowerDesignerPowerDesigner).......................................................................17河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华31111、PowerDesignerPowerDesignerPowerDesignerPowerDesigner简介简介简介简介PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。PowerDesigner包括了多个版本,在这里用到的是12.5。不同版本之间的使用方式上可能有稍微差异。2222、PowerDesignerPowerDesignerPowerDesignerPowerDesigner主要包括功能(1)DataArchitect这是一个强大的数据库设计工具,使用DataArchitect可利用实体-关系图为一个信息系统创建概念数据模型-CDM(ConceptualDataModel)。并且可根据CDM产生基于某一特定数据库管理系统(例如:SybaseSystem11)的物理数据模型-PDM(PhysicalDataModel)。还可优化PDM,产生为特定DBMS创建数据库的SQL语句并可以文件形式存储以便在其他时刻运行这些SQL语句创建数据库。另外,DataArchitect还可根据已存在的数据库反向生成PDM,CDM及创建数据库的SQL脚本。(2)ProcessAnalyst这部分用于创建功能模型和数据流图,创建处理层次关系。(3)AppModeler为客户/服务器应用程序创建应用模型。(4)ODBCAdministrator此部分用来管理系统的各种数据源。在本篇文章中将主要讲述如何使用PowerDesigner来创建符合特定数据库系统的物理数据模型(PDM)3333、PowerDesignerPowerDesignerPowerDesignerPowerDesigner工作区介绍河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华4对象浏览器对象浏览器可以用分层结构显示你的工作空间.输出窗口显示操作的结果。结果列表用于显示生成、覆盖和模型检查结果,以及设计环境的总体信息。图表窗口用于组织模型中的图表,以图形方式显示模型中各对象之间的关系物理模型(PDM)常用工具说明。河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华54444、新建物理数据库模型(PDMPDMPDMPDM)1、运行PowerDesigner,文件→新建,弹出新建模型域对话框。2、点击确定可以看到在树形模型管理窗口中多了一个模型工程河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华63、创建表在图表窗口上选择实体表创建工具,然后在图表窗口上点击鼠标左键,即会在图表窗口上生成一个表实体。如下图选择工具箱中的“指针”工具,然后在新创建的表上双击,弹出表实体属性对话框,在这里对表的字段等属性进行管理。如下图河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华7在Columns选项卡上填写表的字段属性,并选择主键。如下图按照上上述的方法创建别另外一个实体表USERS。创建好的两个表如下:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华8为两个实体创建关系,在这里USERS表中的GROUP_ID字段引用了USER_GROUP表的ID字段:选中工具箱上的实体关系图标,在USERS表上按下鼠标左键拖动到USER_GROUP表上松开鼠标左键,将会看到一个实体关系箭头的出现。如下图:选择工具箱上的指针工具,然后在上图中的关系线上双击,弹出实体关系属性管理对话框。如下图:在上图的界面中选择好主表和子表,然后选择Joins(关系维护)选择卡。选择外键对应的列。如下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华9选择子表的GROUP_ID字段是引用主表的主键。确定完成关系的创建。5555、将物理数据模型(PDMPDMPDMPDM)导出为数据库语句菜单→数据库→GeneratedDatabase.。根据不同的版本可能有差异。如下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华10弹出导出数据库出话框。在Selection(选择)选项卡上选择要导出的表。如下图:在General(常规)选项卡上导出目标地址和导出的SQL名。如下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华11其他选项保持默认,点击确定。在结果窗口可以看到输出的结果。如下图:打开生成的SQL文件可以看到生成的数据库语句。河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华12从上图我们可以清楚的看到生成表的语句和创建的关系语句。至此我们完成了如何使用PowerDesigner设计物理数据模型,并导出数据库语句。6666、将物理数据模型(PDMPDMPDMPDM)直接生成表到数据库我们先在Oracle上新建一个用户名为test的数据库,密码也是test.这时test用户中没有任何表。在菜单上的数据库菜单项中选择configureconnections…..,弹出如下图的PowerDesigner数据库源配置框河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华13点击上图中有红圈的按钮,进行数据源配置,弹出如下图的数据源选项框。选择系统DSN选项卡上的添加按钮,在弹出数据源驱动配置框上为我们的Oracle配置驱动,如下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华14选择Oracle的驱动。然后点击确定。在弹出的框上进行驱动配置。如下图:以上图的配置信息填写时,TNSServiceName是比较重要的。他选择的是我们在本机配置的Oracle连接字符串,能过右面的下拉框我们可以看到可用的连接字符串。如下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华15点击配置框右测的TestConnection,在弹出框中填写数据库的用户名和密码,可以看到连接成功的提示。点击确定返回到PowerDesigner数据库源配置框。点击上面的刷新,可以看到刚刚配置好的数据源连接确定返回。菜单→数据库→GeneratedDatabase.。选项根据不同的版本可能有差异。如下图河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华16选择Directgeneration。并在右则的数据源按钮中选择刚刚配置好的test.在上面的Directory和Filename中输入要保存的sql文件路径和名。在Selection选项卡中选择要导入到数据库的表。然后点击确定。PowerDesigner会执行导出程序。导出完毕后会弹出一个执行SQL对话框。如下图:点击Run。忽略出现的警告。等待执行成功后查看数据库可以看到刚刚导入进的数据表。河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华17查看USERS的属性可以看到它的主键和外键也被创建。如下图7777、逆向工程(从数据库到PowerDesignerPowerDesignerPowerDesignerPowerDesigner)下面我们就以刚刚导入到数据库的两个表为例进行逆向工程。在文件菜单中选择逆向工程(或者ReverseEngineeringDatabase…),如下图Modelname可以根据需要修改,这里默认。点击确定。出现下图:河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华18选择Usingadatasource.点击确定选择我们配置的test数据库源。输入数据库的用户名密码。点击Connect,弹出如下框河南恩湃电力技术有限公司2010-4-16应用集成项目组刘志华19选择要逆向工程的表。确定,可以看到输出窗口输出的结果。在弹出的图表窗口中能看到通过逆向工程从数据库里导入的表,以及他们的关系。这样,我们可以在PowerDesigner中对表进行维护后再能过第6步导入到数据库中。