PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。以下基于PowerDesigner16.5说明。

该版本主要分为10种建模文件:

1.   业务流程模型(Business Process Model, BPM)

2.   概念数据模型(Conceptual Data Model, CDM)

3.   数据传送模型(Data Movement Model, DMM)

4.   企业架构模型(Enterprise Architecture Model, EAM)

5.   自由模型(Free Model, FM)

6.   逻辑数据模型(Logical Data Model, LDM)

7.   面向对象模型(Object-Oriented Model, OOM)

8.   物理数据模型(Physical Data Model, PDM)

9.   需求模型(Requirements Model, RM )

10. 可拓展标记语言模型(XML Model)

1.  概念数据模型 (CDM)

对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。

2.  逻辑数据模型 (LDM)

PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。

逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。

3.  物理数据模型 (PDM)

基于特定DBMS,在概念数据模型、逻辑数据模型的基础上进行设计。由物理数据模型生成数据库,或对数据库进行逆向工程得到物理数据模型。

4.  面向对象模型 (OOM)

包含UML常见的所有的图形:类图、对象图、包图、用例图、时序图、协作图、交互图、活动图、状态图、组件图、复合结构图、部署图(配置图)。OOM 本质上是软件系统的一个静态的概念模型。

5.  业务程序模型 (BPM)

BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。 BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。

6.  信息流模型(ILM)

ILM是一个高层的信息流模型,主要用于分布式数据库之间的数据复制。

7.  企业架构模型(EAM):

从业务层、应用层以及技术层的对企业的体系架构进行全方面的描述。包括:组织结构图、业务通信图、进程图、城市规划图、应用架构图、面向服务图、技术基础框架图。

关于PowerDesigner物理数据模型的基本使用,我这里就不废话了,给出个连接,地球人看完都知道:http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html

下面就一些比较高级型的用法和技巧我着重说明下。

1.  生成sql脚本

Database→Generate Database

选择要输出的文件路径,即文件存储路径,并根据需要修改文件名,单击确定后便会生成sql脚本。

在Options选项卡里,可以个性化选择和配置sql脚本,如取消外键,去除drop语句等。

Selection选项卡中可以选择哪些表要生成sql脚本。

在Preview选项卡可以预览将要生成的sql脚本。

2.  将所有名词转化为大写

tools→Model Options...→Naming Convention→Code→Uppercase。

3.  表字段设计窗口显示comment来编写注释

双击表打开表的属性窗口→Columns选项卡→单击上排倒数第二个图标(Customize Columns and Filter)→勾选comment

4.  修改表的字段Name的时候,Code不自动跟着变

tools→General Options...→Dialog→取消勾选Name to Code mirroring

5.  不同数据库之间的转化

Database→Change Current DBMS→选择要转换成的目标数据库

6.  导入sql脚本生成相应的数据库表模型图

File→Reverse Engineer→Database...→修改模块名称并选择DBMS

Using script files→点击下方图标(Add Files)来添加sql脚本文件→确定

7.  由物理模型生成对象模型,并生成相应的get、set方法

tools→Generate Object-Oriented Model...→选择语言→修改Name和Code→(Selection选项卡→选择要生成对象模型的表)→确定

双击生成的某张表的类图打开属性窗口→选中全部字段→将字段Visibility全部改为private→单击下方Add...按钮→选择Get/Set Operations→确定

之后生成代码即可:Language→Generate Java Code...

【注意:不同语言Add...按钮下的内容有区别,如C#是Property】

6.  生成数据库文档

Report→Generate Report...→选择Generate RTF→修改Repor namet→语言选择Chinese→选择文件存放位置→确定

PowerDesigner还提供了文档编辑功能:Report→Reports...→点击New Report图标→修改Repor namet→语言选择Chinese→Report template选择Full Physical Report

之后即可打开文档编辑窗口,不过限于篇幅这里就不再详细说明如何编辑了,大家自己看看吧。

8.  如何建立自增主键

双击表打开属性窗口→勾选P主键复选框→双击设置为主键的字段(在行的头部双击)或者单击上方的属性图标按钮→在打开的窗口下方(注意不同数据库不一样,sql server是identity复选框)选择sequence,如果没有则单击旁边的新建按钮创建一个sequence。

9.  如何建立视图

工具栏中单击视图(view)按钮→创建视图→双击视图打开属性窗口,其中Usage是表示视图是只读的还是可更新的。如果我们只创建一般的视图,那么选择query only选项即可。

切换到SQL Query选项卡,在文本框中可以设置定义视图的sql查询语句,在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns中才能看到每个列。单击右下角Edit with SQL Editor按钮,即可弹出SQL Editor编辑器,编写SQL语句。也可采用其他sql语句生成器生成sql语句。

10.  如何建立索引

双击表打开属性窗口→选择Indexes选项卡→新建一索引→双击该索引打开属性窗口

选择Columns选项卡→单击Add Columns图标按钮→选择要建立索引的字段→确定

这里Column definition就不要选了,会与主键冲突。

11.  如何建立存储过程

工具栏中单击Procedure按钮→创建存储过程→双击存储过程打开属性窗口→选择Definition选项卡,其中在下拉列表框中,有Default Procedure、Default Function这两个选项,前者是定义过程,后者是定语函数,系统会根据选择的类型创建SQL语句的模板→编辑存储过程脚本。

以上就是PowerDesigner物理模型的最主要内容了,其实这只是沧海一粟罢了,仅仅刚刚涉及到了一个模型,还有其他好多模型值得我们学习,这里要想真的讲全面的话,那一篇博文肯定容不下,需要连载了。

PowerDesigner真的非常强大,用它设计UML同样很牛叉,大家有时间真应该好好学学这个工具怎么使,如果可能,我可能会在今后的博文中介绍下如何用PowerDesigner设计对象模型UML,或者搞不好真的要连载了,呵呵。那么小小期待下吧!

开发工具 之 PowerDesigner的更多相关文章

  1. 开发工具 之 PowerDesigner 应用积累

    1.在默认情况下,code与name是联动,修改了name中的数据. 解决方法:设置菜单栏选择"Tools→General Options→Dialog"  中的 "Na ...

  2. 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

    开发<客户关系管理系统(CRM)>软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路.开发理念,以及一些必要的高效率手段.本篇随 ...

  3. ER模型图工具:PowerDesigner

    导读:开始是想一个阶段一个阶段的写文档,再写了可行性分析报告之后,发现这种方法整体性不强,写出来的文档也总是有考虑不周的地方.后来,就看完了全部的软工视频再写.现在该写项目开发总结报告了.在写文档的过 ...

  4. Windows 常用工具 & 开发工具 & Chrome插件 & Firefox 插件 & 办公软件

    常用工具 1.FastStone 8.0 2.印象笔记 3.Chrome 4.Beyond Compare 5.Everything 6.有道词典 7.文本编辑软件 EditPlus UltraEdi ...

  5. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  6. XCodeGhost表明:为了安全,开发工具应该从官方网站下载

    今天的热门话题就是XCode编译器,这个神器在火热的移动互联网浪潮下也被人利用了,据文章分析 (XCode编译器里有鬼 - XCodeGhost样本分析)http://www.huochai.mobi ...

  7. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  8. Python 环境搭建,开发工具,基本语法

    python环境 https://www.python.org/downloads/ 现在pthon有两个版本 一个是3.5系列的 , 一个是2.7系列的.建议用3.5版本的 开发工具 PyCharm ...

  9. Chrome 开发工具之Timeline

    之前有说到Element,Console,Sources大多运用于debug,Network可用于debug和查看性能,今天的主角Timeline更多的是用在性能优化方面,它的作用就是记录与分析应用程 ...

随机推荐

  1. 泡泡堂、QQ堂游戏通信架构分析

    http://blog.csdn.net/sodme/article/details/468327#comments ————————————————————————————————————————— ...

  2. HD1049Climbing Worm

    Problem Description An inch worm is at the bottom of a well n inches deep. It has enough energy to c ...

  3. CISCO3560 VLAN配置实例

    1.注意事项 1.1.交换机启动需要大约4-5分钟: 1.2.网线插入交换机接口从黄变为绿需要大约1-2分钟,即进入正常工作模式: 1.3.建议使用XP系统进行操作,2003默认没有安装超级终端,需要 ...

  4. C++视频课程小结(1)

    C++远征之起航篇 章节介绍: 每章小结: 第一章:C++诞生于贝尔实验室,C++包含C语言. 第二章:介绍了IDE环境(虽然没怎么懂),还推荐使用visual stdio 2010 旗舰版(姑且下了 ...

  5. 数据结构——图——最短路径D&F算法

    一.Dijkstra算法(贪心地求最短距离的算法) 在此算法中,我按照自己的理解去命名,理解起来会轻松一些. #define MAXSIZE 100 #define UNVISITED 0 #defi ...

  6. 使用HTML5的十大原因

    你难道还没有考虑使用HTML5? 当然我猜想你可能有自己的原因:它现在还没有被广泛的支持,在IE中不好使,或者你就是喜欢写比较严格的XHTML代码.HTML5是web开发世界的一次重大的改变,事实上不 ...

  7. IDA Script: Remove empty auto labels

    http://simeonpilgrim.com/blog/2010/03/25/ida-script-remove-empty-auto-labels/ #include <idc.idc&g ...

  8. nslookup 查询IPv6

    > nslookup>  set type=AAAA > ipv6 domain name  (ipv6.google.com, time.buptnet.edu.cn)

  9. .Net 下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#) [轉]Redfox

    一直以来,我都为动态调用WebService方法而烦恼.在.Net环境下,最常用的方法就是采用代理类来调用WebService,可以通过改变代理类的Url属性来实现动态调用,但当xmlns改变时就会出 ...

  10. C++ Socket超时设置

    用winsocket时,send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,可以设置收发时限:int nNetTimeout = 1000; //1秒//发送时限setsocko ...