使用PowerDesigner作数据库设计(二)

使用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几回。