posts - 297,  comments - 1618,  trackbacks - 0

设计之路:使用Power Designer工具进行数据库设计

/阿蜜果

日期:/2013-10-13

        

         使用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

在该页面搜索“client”,页面如下所示:
 

点击“Instant Clinet”后进入下载列表,如下图所示:
   

笔者的是32位的操作系统,所以选择“Instant Client for Microsoft Windows(32-bit)”。下载时需要AcceptLicense Agreement, 若没有oracle帐号,需先注册一个oracle帐号。页面如下图所示:
   

另外,请选择合适版本:

instantclient-basic-win32-11.x.x.x.x.zip:支持Oracle 9i以上的版(不包括Oracle9i)

instantclient-basic-win32-10.x.x.x.zip:支持Oracle8i 和Oracle9i 的。

笔者下载的是最新版本instantclient-basic-nt-12.1.0.1.0.zip

下载完成后,把文件解压到本地某路径下,如:D:\software\instantclient_11_2在此路径下建立:NETWORK/ADMIN文件夹,在ADMIN文件夹下建立tnsnames.ora文件,参考内容如下:

orcl=
    (DESCRIPTION
=
        (ADDRESS_LIST
=
            (ADDRESS
=(PROTOCOL=TCP)(HOST=10.28.19.120)(PORT=1521)) 
        )
        (CONNECT_DATA
=
            (SERVICE_NAME
=orcl) 
        )
    )



5.2 安装PL/SQL并进行配置

    安装PLSQL Developer,打开后点击“取消”按钮进入。在菜单栏选择“工具”->“首选项”,设置Oracle主目录名和OCI库,如下图所示:
   

    设置后关闭PL/SQL,再重新打开,在登录页面选择在tnsnames.ora 中设置的“数据库”,输入用户名、密码即可登录。如下图所示:
   

6、参考文档

    (1)《PowerDesigner15连接Oracle数据库并导出Oracle的表结构》:

http://wenku.baidu.com/view/4f819a24af45b307e87197ea.html

(2)《如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)》:http://blog.csdn.net/jiang_ideal/article/details/3838806

(3)《在powerdesigner中,一个table,怎么在diagram中创建多个symbol》:

http://tyj06102000.blog.163.com/blog/static/1269328620107236446346/

(4)《Oracle免安装客户端oracle_instantclient的安装和配置》:

http://wenku.baidu.com/view/bf396d6858fafab069dc0228.html

 

 

posted on 2013-10-13 12:23 阿蜜果 阅读(22666) 评论(5)  编辑  收藏 所属分类: 架构师之路


FeedBack:
# re: 设计之路:使用Power Designer工具进行数据库设计
2013-10-13 15:25 | 小夜Q54755788
支持我 下载 我的聊天室 美女秀聊天室 http://link.gd/22a 不看转播 看直播  回复  更多评论
  
# re: 设计之路:使用Power Designer工具进行数据库设计
2013-10-14 09:45 | 津极地海洋馆
设计好无奈的  回复  更多评论
  
# re: 设计之路:使用Power Designer工具进行数据库设计
2013-11-27 13:31 | 渣浆泵厂家
表示看不懂  回复  更多评论
  
# re: 设计之路:使用Power Designer工具进行数据库设计
2014-01-06 10:42 | 水泵
前些天跟进一个已经做完一半但是不大的系统,使用Oracle 11g数据库,因为时间比较紧张,而且项目组人员没有文档规范意识,各个模块的数据库表都由各个开发人员独立设计,没有完整的物理模型设计文档,给维护造成很大困难。  回复  更多评论
  
# re: 设计之路:使用Power Designer工具进行数据库设计
2014-03-31 12:29 | 奈奎斯特
给力  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2013年10月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(262)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2286201
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜