使用PowerDesigner作数据库设计(二)程序员
CDM设计后续sql
在上一篇文章中,有一点给忘记了,在CDM设计窗口中,若是在设计中,实体entity愈来愈多,实体entity间的关系也会愈来愈复杂,像蜘蛛网同样难以分辨,从可视化和可维护性上面讲,这是不利的,有没有办法解决这个问题呢。办法是有的,请看下图:数据库
图-1数据结构
在图中,点击鼠标右键,选择新增,在新增下选择第一项Conceptual Diagram,这样就能够根据业务逻辑来创建一个子CDM,在打开的窗口中给子CDM命名,添加code和备注。数据库设计
图-2ide
若是想让每个子CDM排列有序,则能够在名称前面增长数字来进行排序,以下图所示:工具
图-3设计
对于实体Entity,关联关系Relationships,还有Association及Association Link也能够使用一样的命名规则,根据业务逻辑在名字前添加数字,进行归类存放,方便后续的审核确认。code
*PDM介绍*
PDM是PhysicalDataMode的英文简称,物理数据模型的意思。PDM能够直接建立,也能够从CDM之间生成,还能够从已有的PDM再次生成PDM。orm
在PDM中能够对CDM生成的表结构,作进一步的核对、确认一下,这是否是就是本身想要的数据结构,须要注意的是CDM中的关联association会直接生成对应的表table,还有一点须要注意,若是一个表中有两个来自同一个表的外键,外键的命名还须要人为的手动修改一下。
*CDM转PDM,手把手实际操做*
第一步,选中即将转化为PDM的CDM设计稿上,在工具栏上,选择Generate Physical Data Model,以下图所示:
图-4
第二步,在打开的窗口,进行PDM相关参数的设置,在第一个选项卡General,数据库的选择很是重要,要根据须要的数据类型,来选择生成模型对应的数据库类型。
图-5
第三步,数据库表前缀的设置,在上图中,点开第二个选项卡detail,能够看到一个table prefix,这个即是表前缀的设置。
图-6
第四步,切换到第四个选项卡Selection,对须要生成PDM的实体,作一个选择,若是不须要,就去掉实体前复选框中的勾选,若是所有须要,这一步能够跳过。
图-7
最后,点击肯定按钮,根据CDM的大小,等待个几秒钟,就能够看到已生成PDM的样子了,以下图:
图-8
只需三步,CDM就转换成PDM了,很是简单吧。
再来确认一下,学生和课程关系表,生成的对不对,打开Tables下的学生和课程关系表,表的前缀是有的,这个是对的。
图-9
再确认一下,表中的列,喔,好吧,学生和课程关联关系时,错把班级和这张表关联了,真是太粗心,怎么办,再回到CDM设计中,把上面的相关步骤再走一遍喽!
图-10
回到CDM设计界面,在删除的确认对话框中,有个选项须要注意一下
图-11
在删除对话框中,默认的选项Delete objects,会连带删除掉左边列表中的关系或实体,下面的选项则只会删除右边的关系或实体。在操做实体时,若是不想删除左边菜单栏中的实体,则选择Delete symbols only选项。肯定要删除哪些项目后,按下OK按钮确认删除操做。
图-12
好吧,设计真是个细心活,最后再把PDM生成一下,生成的结果以下图:
图-13
再把每一个表中的列信息核对一遍,这下,学生和课程关系表中的列信息都是对的,课程id和学生id分别做为外键,插入到这张表中,在此表中,课程id和学生id构成了联合主键。
图-14
在学生表中,班级也是做为外键插入到学生表中的,以下图所示:
图-15
*PDM生成sql语句*
第一步,鼠标焦点落在须要生成PDM的设计稿上,而后就能够在菜单栏看到数据库这个选项,点击数据库,选择Generate Database选项
图-16
第二步,在打开的Database Generation窗口中,设置文件须要保存的路径,文件名称,sql语句的组成。
图-17
第三步,在后面几个选项卡中,还有其余的选项,在Preview选项卡中,还能够预览到sql语句的效果,以下图所示:
图-18
最后点击肯定按钮,而后到文件保存的位置,查看sql语句的文档便可,文档中的sql语句和预览preview中的是同样的。
从以上生成sql语句的过程来看,这一步还算是简单的,只需三步走。下面的一步就比较复杂啦。
*PDM生成word可视化文档*
第一步,鼠标焦点落在须要须要生成word可视化文档的PDM设计稿上,而后点击工具栏中的报告,若是是第一次使用,则须要打开Report Templates窗口,首先设计word导出模板,以下图所示:
图-19
图-20
第二步,在打开的List of Report Templates模板中,点击新建模板图表后,会出现下面窗口Report Template Type,经过这个窗口给模板命名,选择生成的语言类型,选中的数据模板类型,以下图所示,最后按OK按钮肯定。
图-21
第三步,模板设计细节。点击确认按钮后会出现下面操做窗口,模板内容的选择。在这一步,须要肯定将要输出的word文档,都有哪些内容展现,table的列表清单,table表头信息,table下的每一列,每一列的数据类型及备注等等。
图-22
拖两个title到文档下,第一个title下面展现table清单,把list of tables拖到第一个title下,这时已经完成了模板的头部设计。
图-23
接下来,在Available items列表下,找到Table文件夹,打开Table文件夹,把Table Card拖到第二个title下,再找到List of column,把这个也拖到第二个title下,见图-25,把多余的删掉。
图-24
这个步骤考验拖拖拉拉的能力,须要多点耐心,Java程序员还真不习惯这样拖拖拉拉的。
图-25
最后按保存按钮,在弹框里选择合适的保存路径。
图-26
行到此处,模板的设计就告一个段落了,点击右上角的关闭按钮,关闭这个设计模板的窗口,接下来检验这个模板是否是咱们想要的。
图-27
第四步,模板验证。鼠标焦点落在要导出word模板的PDM设计稿上,打开图-19的对话框,打开Generate Report窗口,在打开的窗口中,选择刚刚设计的模板,导出文档的后缀,语言类型及存储路径。
图-28
第五步,确认输出。按下OK按钮确认后,会弹出对话框,点击是,打开已经生成好的word文档,预览一下格式
图-29
这份看起来高大上的文档,还有些不足,行之间缺乏下划线,列表清单缺乏备注等等。
图-30
第六步,模板设计再确认。从模板保存的路径,打开模板,选择模板中的项目,点击鼠标右键,分别对format和layout进行设计,format主要是对格式的设置,layout是对数据项展现的设置,根据须要进行设置,设置好后保存。
图-31
图-32
图-33
最后,再次生成word文档,打开文档,是否是以为很完美呢,感受不完美继续修改模板吧,哈哈。
图-34
最后总结
CDM、PDM是PowerDeginer工具作数据库设计时最常使用的,PowerDeginer里面的功能还有不少,都待研究。
使用了PowerDeginer这款工具后,有没有以为作数据库设计高效了不少呢,固然,作设计是细心活,粗心时还须要多review几回。