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

CDM设计后续

在上一篇文章中,有一点给忘记了,在CDM设计窗口中,如果在设计中,实体entity越来越多,实体entity间的关系也会越来越复杂,像蜘蛛网一样难以分辨,从可视化和可维护性上面讲,这是不利的,有没有办法解决这个问题呢。办法是有的,请看下图:

图-1

在图中,点击鼠标右键,选择新增,在新增下选择第一项Conceptual Diagram,这样就可以根据业务逻辑来建立一个子CDM,在打开的窗口中给子CDM命名,添加code和备注。

图-2

如果想让每一个子CDM排列有序,则可以在名称前面增加数字来进行排序,如下图所示:

图-3

对于实体Entity,关联关系Relationships,还有Association及Association Link也可以使用同样的命名规则,根据业务逻辑在名字前添加数字,进行归类存放,方便后续的审核确认。

​ *PDM介绍*

PDM是PhysicalDataMode的英文简称,物理数据模型的意思。PDM可以直接创建,也可以从CDM之间生成,还可以从已有的PDM再次生成PDM。

在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几次。

哈哈。

[外链图片转存中…(img-BzVW7jMN-1603276881721)]

图-34

最后总结

CDM、PDM是PowerDeginer工具做数据库设计时最常使用的,PowerDeginer里面的功能还有很多,都待研究。

使用了PowerDeginer这款工具后,有没有觉得做数据库设计高效了很多呢,当然,做设计是细心活,粗心时还需要多review几次。

使用PowerDesigner做数据库设计(二)相关推荐

  1. 使用PowerDesigner做数据库设计(一)

    使用PowerDesigner做数据库设计(一) ​ 使用PowerDesigner进行数据库设计,去年是第一次使用,使用它完成了一次小型的数据库设计.今年是第二次使用,中间间隔了几个月,再次打开Po ...

  2. 浅谈数据库设计二三事

    作为程序员,程序设计前的数据库设计非常重要,这将直接关系到紧接着的代码编写工作,这里谈谈有关数据库设计过程中的一些细节问题. 一.数据表主键的字段选择(ID,Code,Number) ID(编号)一般 ...

  3. PowerDesigner导出数据库设计文档

    pd这款软件我之前用来设计数据库的,最近接到一个编写数据库设计文档的任务,222张表,一个个地写显然是不行的.去年刚开始用的时候有个要求就是导出数据库成word,当时还不会,按照网上的教程去操作也没弄 ...

  4. navicat 复制表结构到word文档做数据库设计格式问题解决

    需求:写数据库设计文档,需要设计数据字典,贴表结构,如果是几百张表 一个个填工作量很大 解决方案: 1.sql查询所有字段 2.整体复制到excel 3.拆分表,调整列项及字段自动编号 4.复制到wo ...

  5. PowerDesigner生成数据库设计文档

    1.说明 使用PowerDesigner设计数据库表, 基于PowerDesigner设计数据库表, 生成数据库对应的表设计文档, PowerDesigner支持生成HTML.RTF和本地格式的文档, ...

  6. Thinkphp5 开发 OA 办公系统 - 数据库设计

    2019独角兽企业重金招聘Python工程师标准>>> 自从接触到用PowerDesigner做数据库建模后,喜欢它就停不下来了.我发现现在很多2-20人的团队在做数据库结构设计时, ...

  7. 电子商务系统数据库设计(一)

    数据库基本操作 最近学数据库数据库学得飞起,学数据库当然少不了学sql,老师讲得很多很系统,但是我相信很多初学者不可能在短短40分钟之内把所有老师将的课程都吸收,个人认为,数据库的精髓在于多实践,多练 ...

  8. (转)数据库设计范式深入浅出

    关系数据库设计之时是要遵守一定的规则的.尤其是数据库设计范式现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍.在你设计数据库之时,若 ...

  9. 数据库设计范式深入浅出

    关系数据库设计之时是要遵守一定的规则的.尤其是数据库设计范式现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍.在你设计数据库之时,若 ...

最新文章

  1. 他24岁,4篇Nature在手,也会关心学不懂C语言怎么办
  2. 架构师书单 2nd Edition--转载
  3. get请求的乱码解决方式
  4. XAMPP配置httpd-vhosts.conf后无法启动
  5. Go语言 - 忍不了了!!!已将Go语言各标准包文档.移到自己服务器上
  6. mUrlPrefixes内entry的population逻辑
  7. SpringBoot中的Tomcat是如何启动的
  8. Java8 Stream详解~Stream概述
  9. php订阅号借权,php订阅号借权
  10. 决策树之分类树快速理解
  11. sql转java对象_关于hibernate中使用sql语句时,类对象的转换问题。
  12. C++ vector理解
  13. lightslider-支持移动触摸的轻量级jQuery幻灯片插件
  14. ajax请求接口连不上会报错吗_本地ajax请求服务器
  15. Java小程序--抓取emai
  16. 十大流行健美营养补剂
  17. 单个正态总体均值的区间估计_总体均值的区间估计 (正态总体: σ2 已知实例).pdf...
  18. 关于编程语言和编程工具
  19. 服务器软件维护的内容有哪些
  20. 出门问问李志飞:人工智能创业者不要欺骗自己

热门文章

  1. PAT1046 划拳 (15 分)
  2. 小师妹学JavaIO之:File copy和File filter
  3. c++分治法求最大最小值实现_快速实现分组统计,均数标准差 中位数(四分位数间距) 最大值 最小值,非常全...
  4. 解题报告——试题 基础练习 分解质因数——31行代码AC
  5. 操作篇 ###rip协议学习和理解##
  6. 构造代码块、静态代码块、构造方法的执行顺序
  7. 瞬间带你了解如何优化 Mysql 数据库,老板再也不担心客户投诉了
  8. Linux中修改登录提示文件
  9. python服务端对应多个客户端_Python-网络编程:TCP2 循环为多个客户端服务
  10. 树莓派VNC server设置开机自启动