• PowerDesigner 从现有的数据库表中反向生成数据模型


    文章出自http://www.blogjava.net/amigoxie/archive/2013/10/13/404925.html

     

    使用Power Designer进行数据库设计已有一段时间,但某些功能却一直未曾使用,本博文将笔者近期使用Power Designer的某些功能进行详细讲解。

     

    1、使用PD连接Oracle数据库

             前些天跟进一个已经做完一半但是不大的系统,使用Oracle 11g数据库,因为时间比较紧张,而且项目组人员没有文档规范意识,各个模块的数据库表都由各个开发人员独立设计,没有完整的物理模型设计文档,给维护造成很大困难。

             因为只有Oracle数据库中有表结构,所以我想通过Oracle数据库反向生成物理模型,首先需要使用Power Designer连Oracle数据库。

    1.1 创建新的物理数据模型

             点击“文件”-> “建立新模型”,在弹出的界面中使用默认选择(“Model-> Physical Data Model-> Physical Diagram”),修改“Model Name”为系统的名称,“DBMS”选择“ORACLE Version 11g”,点击“OK”按钮建立新的物理数据模型。如下图所示:  
          

     

             【说明】笔者使用的Power Designer版本为15.1,链接的Oracle版本为Oracle 11g。

    1.2 创建Oralce数据源

             点击“数据库”-> Configure Data Connections”,在弹出的界面中选择“Connect Profiles”后点击“ ”按钮将弹出创建数据源的界面,如下图所示:         
           

     

             在“Connection Profile Connection Definition”界面的设置参考如下:
           

     

             该界面设置需要注意的是:

      (1Connection Profile name:输入数据库连接文件名它会自动加上后缀.dcp

             2Derectory:可以选择任意目录;

             3Connection type:连接类型选择“JDBC”;

             4DBMS type:数据库管理系统选择“Oracle”;

             5User name:数据库用户名;

             6Password:数据库密码;

             7JDBC driver class:从下拉中选择JDBC的驱动类选择驱动类oracle.jdbc.OracleDriver

             8JDBC connection URLJDBC连接地址,即访问的服务器路径,格式为:

                       jdbc:oracle:thin:@数据库IP地址数据库连接端口:orcl

             9JDBC driver jar files:需要选择指向ojdbc14.jar或者其他驱动的包的按钮路径。

             笔者测试过程中发现数据库连接不上,后来才发现因为新换笔记本后连JDK都未安装,请确认JDK安装成功,并正确设置JAVA_HOMECLASSPATHPATH环境变量。

    Power Designer找不到所选择的jar包或jar包不在CLASSPATH环境变量所指定的路径,将会报错:Non SQL Error : Could not load class oracle.jdbc.OracleDriver

    在设置CLASSPATH环境变量时将值设置为.;%JAVA_HOME%lib,其中“.;”表示当前路径,为了让Power Designer找到ojdbc14.jar,可将ojdbc14.jar放在Power Designer的安装目录下,或放在%JAVA_HOME%lib目录下。

         【说明】Oracle的驱动jar包ojdbc14.jar读者可从网上下载,或通过本博客提供的下载链接下载(http://files.blogjava.net/amigoxie/20131013_%E8%AE%BE%E8%AE%A1%E4%B9%8B%E8%B7%AF%EF%BC%9A%E4%BD%BF%E7%94%A8Power%20Designer%E5%B7%A5%E5%85%B7%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1.rar

    1.3 测试链接是否成功

    可点击“Connection Profile Connection Definition”界面的“Test Connection”按钮,进入用户名/密码重新输入页面,如下图所示:
         

     

    若数据库连接成功,将显示如下界面提示连接测试成功:
        

     

    若连接失败,将提示“Connection test failed”,请确认链接地址是否正确。

    1.4 连接Oracle数据库

    Oracle数据源创建成功后,可选择菜单栏“数据库”->Connect…”弹出“Connect to a Data Source”界面,在“Connection Profile”下拉中选刚才创建的“xx_portal.dcp”,点击“Connect”按钮连接数据库。如下图所示:
        

     

    点击“Connect”按钮连接数据库,连接数据库成功后,可查看数据库中的表结构,也可通过Oracle数据库中的表结构逆向生成PDM文件。

    2、连接Oracle数据库逆向工程生成PDM

    使用逆向工程建立物理数据模型PDM文件也可选择“File->Reverse Engineer-> Database”,在弹出的界面中将“Model name”输入为子系统的名称,“DBMS”选择“ORACLE Version 11g”,点击“确定”按钮进入连接数据源页面。如下图所示:
          

     

             点击【确定】按钮逆向工程选项设置界面,如下图所示:
          

     

             在“User a data source”中可选择刚才创建的数据源“xx_portal.dcp”,默认勾选“Reverse engineer user administrator’s permissions”,点击“确定”按钮进入数据库反向工程界面,如下图所示:
          

     

             点击“确定”按钮生成PDM文件,生成的PDM文件将包含表结构、主键、外键、索引、约束和其它选项信息。

             【说明】因为笔者写本博文时本机暂时无法连接之前使用的Oracle数据库,所以上图从网上拷贝。

    3、一个PDM创建多个Diagram进行设计以便查看

        将所有的表都放在一个Physical Diagram中,非常不便于查看,Power Designer的一个PDM文件可建立多个Physical Diagram,在创建新的物理数据模型后,可选择物理模型名称后点击右键,选择“New”->“Physical Diagram”创建新的Physical Diagram。

        例如笔者为“员工办公门户系统物理模型”建立了如下多个Physical Diagram:
        

     

        选择不同的“Physical Diagram”,点击右键后选择“打开图表”将会看到该Physical Diagram下的表设计。一般按大模块建立Physical Diagram。

    4、使用Ctrl+ K在不同PD中一个表创建多个symbol

        多个“Physical Diagram”中可能都与某个“Physical Diagram”中的某个表存在关联,例如可能“新闻资讯”、“培训教程、在线考试和问卷调查”这两个Physical Diagram的用户ID可能都与“系统管理”中的“用户表”存在外键关联。

    笔者使用的方法是:使用Ctrl+C先复制,再Ctrl+K粘贴到Diagram中。

    Ctrl + V:创建一个与复制的实体相同的一个实体,相当于一个新的实体(实体名称必须唯一);

    Ctrl + K:创建一个原实体的快捷方式(修改原实体时新实体也会随之变化)。

    5、附录:使用PL/SQL连接Oracle数据库

             12章节章需要安装Oracle客户端,而后使用PL/SQL连接Oracle查看是否能连接成功。

    5.1 下载Oracle免安装客户端oracle_instantclient

    在Oracle官网那个下载Oracle免安装客户端 instantclient basic package,地址如下:

    http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

  • 相关阅读:
    O-C相关-06:对象与对象的关系
    O-C相关05:方法的封装.
    O-C相关04:类方法的概述与定义和调用
    Objective-C发展历史
    O-C相关-03:面向对象概念的具体介绍
    OC相关-02:oc和c的基本差异
    0-C相关01:NSlog函数介绍。
    鞭辟入里
    objective-c中字符串长度计算
    OC多文件开发介绍
  • 原文地址:https://www.cnblogs.com/CoffeeHome/p/3611415.html
Copyright © 2020-2023  润新知