PowerDesginer15使用教程,地球人都知道的东西,做个记录

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

PowerDesigner主要分为7种建模文件:

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就是一把强大的“神器”,若能运用自如,再身怀“绝世武功”,那你基本就遇神杀神遇佛杀佛了!

关于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,或者搞不好真的要连载了,呵呵。那么小小期待下吧!

补充:

1、在pdm模型中,当建立两个表的关系时,有如下的级联关系:

双击2个表之间的关联关系 弹出表信息窗口,选择identity选项卡可看到 以下是几个参数,含义如下: None:父表修改,子表不影响。 Restrict:父表修改,如果子表存在,则出错。 Cascade:父表修改,如果子表存在,则相应的修改。 Set Null:父表修改,如果子表存在,则相应置空。 Set Default:父表修改,如果子表存在,则相应置默认值。

时间: 2024-08-16 15:24:57

PowerDesginer15使用教程,地球人都知道的东西,做个记录的相关文章

读《跟你比起来,大部分人都像笨蛋》颇有感触

当人人都习惯淘宝,习惯网银支付,习惯支付宝的时候,如果你跟他们说我没用过这些东西,他们纷纷表示不理解,觉得我已经过时了.其实很多时候,并不是你会的东西就要求别人一定会,你知道的,别人不一定知道,我们在开发的时候,在写代码的时候要想到,可能我们做的东西要给那些不懂的人看,我们就要努力的写仔细点,尽可能的写详细点,每个人的思维都不一样,也许别人在很努力的理解你的话了,但是各种知识的不同,对待问题的态度的不同,导致可能别人不能完全理解你的东西,这个时候我觉得就要想办法站在别人的角度上来理解这个问题.我

我这种人都学得了编程,你呢?

我这种人都学得了编程,你呢? 声明,我也是在学习中,如果看得起可以跟我一起学习! 先自我介绍一下吧,给没信心的朋友找找信心! 今天是2014年5月7日,正在上初三,还有一个月的时间就初中毕业了. 很多人都认为自己学历不够,英语不好想学但是又不敢学.很多人都认为我很聪明,学习很棒. 其实不是,我都不好意思说我这次月考,考了全级800多名,全级才850多人.初中三年我大概睡了一年的觉,我这种人都能学了编程你呢?? 如果你真的对编程有兴趣就开始学吧,很多教程里都说兴趣是最好的老师,我感觉这句话一点都没

上传伪技术~很多人都以为判断了后缀,判断了ContentType,判断了头文件就真的安全了。是吗?

今天群里有人聊图片上传,简单说下自己的经验 0.如果你的方法里面是有指定路径的,记得一定要过滤../,比如你把 aa文件夹设置了权限,一些类似于exe,asp,php之类的文件不能执行,那么如果我在传路径的时候,前面加了一个../呢,这样这种服务器端的限制就跳过了.(DJ音乐站基本上都有这个问题,以及用某编辑器的同志) 1.常用方法:这种就是根据后缀判断是否是图片文件,需要注意的是这种格式:文件:1.asp;.jpg  1.asp%01.jpg  目录: 1.jpg/1.asp 1.jpg/1.

愿漂泊的人都有酒喝, 愿孤独的人都会唱歌

一个人的生活,每天基本只能看到日出的太阳和夜晚的月亮,其他时间大多在办公室里嗡嗡劳作,偶尔身心俱疲. 以至于工作之外都越来越懒,懒到除了必要时刻之外说话都不愿再费劲过脑,懒到不想谈恋爱. 或者说懒到好像连认识新朋友这种技能都快要封锁入库了. 这种懒,让我孤单. 在这个明明每天有几百万人一起生活的深圳感到孤单.你呢? 深圳好大,大到可以容纳我们几百万人的梦想,也大到每天擦肩而过的我们几乎永远不会相识. 我知道,会孤单的并不是我一个人. 但也许,我们一起孤单也算一种陪伴. 我们知道终有一天孤单会结束

99%的人都理解错了HTTP中GET与POST的区别

作者:Larry链接:https://zhuanlan.zhihu.com/p/22536382来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 原文链接 作者:WebTechGarden GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非

人都是被自己打败的

有些人总喜欢把困境归结于外因.恨不得有那么个天堂一样的地方,给你用不完的资源和许多闲暇空余的时间.看到世界上有更好条件的环境或受到一些外界的伤害,就愤懑不已,哭天喊地,抱怨世间不公平.而事实上任何环境下都是物竞天择, 适者生存. 外界如果给你了阻碍或是伤害, 责怪外界没有任何意义.你明明有很多机会抗争和抵御, 打不过对手只是因为你不够强大, 完不成你的目标也只是因为自己在堕落. 你所能做的就是把主动权交给自己,不断让自己变得坚强.这是你所能做的最好的改变. 人都是被自己打败的,布布扣,bubuk

英雄所见略同——每个人都有的一套价值体系观念

图——李开复对于成功的因果飞剖析: 第一课 早期教育——为成功奠定基础 第一节 深受父母的影响 第二节 接受良好的教育 第三节 勇于尝试 第二课 大学教育——为成功插上飞翔的翅膀 第一节 广泛的兴趣爱好 第二节 积极参加社会实践 第三节 勇于拼搏第三课 正确的价值观——成功的必备素质 第一节 坚持诚信.公平.正直的原则 第二节 善于总结经验教训,重视有用的创新 第三节 重视务实第四课 具备高尚的品质——成功的前提 第一节 热爱祖国及帮助中国的年轻人圆梦 第二节 常怀感恩之心 第三节 树立远大的志

关于快速排序算法(一个90%的人都不懂其原理、99.9%的人都不能正常写出来的算法.)

一.奇怪的现象 研究快速排序很久了,发现一个古怪的实情:这算法描述起来很简单,写一个正确的出来实在不容易.写一个优秀的快速排序算法更是难上加难. 也难怪该算法提出来过了很久才有人写出一个正确的算法,过了很久才优秀的版本出来. 二.原理描述 从数列中挑出一个元素,称为 "基准"(pivot), 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边).在这个分区退出之后,该基准就处于数列的中间位置.这个称为分区(partition)操作

一群伟大的科学家死后在天堂里玩藏猫猫,轮到爱因斯坦抓人,他数到100睁开眼睛,看到所有人都藏起来了,只见伏特趴在不远处。 爱因斯坦走过去说:“伏特,我抓住你了。” 伏特说:“不,你没有抓到我。” 爱因斯坦:“你不是伏特你是谁?” 伏特:“你看我身下是什么?” 爱因斯坦低头看到在伏特身下,居然是安培! 伏特:“我身下是安培,我俩就是伏特/安培,所以你抓住的不是我,你抓住的是....” …… 欧姆!

一群伟大的科学家死后在天堂里玩藏猫猫,轮到爱因斯坦抓人,他数到100睁开眼睛,看到所有人都藏起来了,只见伏特趴在不远处.爱因斯坦走过去说:"伏特,我抓住你了."伏特说:"不,你没有抓到我."爱因斯坦:"你不是伏特你是谁?"伏特:"你看我身下是什么?"爱因斯坦低头看到在伏特身下,居然是安培!伏特:"我身下是安培,我俩就是伏特/安培,所以你抓住的不是我,你抓住的是...."--欧姆! 爱因斯坦反应迅速,于是改口