使用PowerDesigner整理PDM

使用PowerDesigner整理PDM

由于公司需要,开始学着使用PowerDesigner,实在没法去官网下载,于是在网上找了个16.5版本的。

​ 先介绍一下PowerDesigner,PowerDesigner是一款非常全面的数据库设计工具。使用PowerDesigner可以快速创建表,支持表与表之间建立关系,界面简洁,功能强大。同时支持将sql脚本导出,多种导出类型任意挑选,简单实用。

创建物理模型

打开PowerDesigner,直接开始创建。
在这里插入图片描述

如图所示,填写好我们的模型名称并选择对应的数据库类型,这里我是用的MySQL5.0版本。

在这里插入图片描述

改一下我们图表的名称就OK了。

在这里插入图片描述

开始构建物理模型

点击图中的图标去创建一个表,物理模型最常用的三个是table(表),view(视图),reference(关系),不过本次例子只是一个很简单的,没有用到view。

在这里插入图片描述

刚刚新建的表就是这个样子,建好了之后双击它去设置它的属性。

在这里插入图片描述

先来设置一下表名和备注,如图所示。
在这里插入图片描述

然后设置表里的字段属性,解读一下每一列是什么意思:name(名称)、code(编码)、comment(备注)、default(默认值)、date_type(数据类型)、length(长度)、precision(精确度)、primary(是否主键)、foreign key(是否外键)、mandatory(不允许为空)。图中部分未显示全,比如P、F、M分别就是primary、foreign key、mandatory。

在这里插入图片描述

如果发现有些属性在列表中未显示,比如default,我想设置一下字段的默认值,但是刚开始的时候default没在列表中显示,可以点击这个按钮进行设置。

在这里插入图片描述

找到default把它勾选上就可以了,其他属性也是一样的操作。

在这里插入图片描述

接下来设置我们的索引,输入我们的索引名称和code,然后可以选择索引是什么索引,比如唯一索引,主键,外键,替换键。这里我就不选了,就是一个普通索引。设置好之后点击图中所示按钮去绑定对应的字段。

在这里插入图片描述

这里选择一个name就行了,可以发现这里是多选项,如果你的索引是组合索引的话也是没问题的。

在这里插入图片描述

所有配置好了之后,可以点击preview预览一下我们的sql。

在这里插入图片描述

解决部分选项不存在的问题

通过预览可以看到,大部分内容都有了,但是可能还不完整,比如我想设置一下引擎或者字符集等等。其实是可以在Physical Options中设置的,但是点过去发现里面并没有。这个时候就需要我们自己去添加。

在这里插入图片描述

点击图中所示选项

在这里插入图片描述

找到table下的options,在value中添加上这一段。这段具体什么意思我就不多说了,不明白的可以点击应用按钮旁边的帮助按钮看看他们的文档。

ENGINE = %s : list = BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM, default = InnoDB
DEFAULT CHARACTER SET = %s : list = utf8 | gbk, default = utf8
COLLATE = %s : list = utf8mb4_general_ci | utf8mb4_bin, default=utf8mb4_general_ci
ROW_FORMAT = %s : list = DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT, default = DYNAMIC

在这里插入图片描述

修改好了之后,再去Physical Options中看,它就有了,然后把我需要的设置添加进去就可以了。

在这里插入图片描述

为了验证一下,再去sql预览中查看,确认无误。

在这里插入图片描述

表与表的关系

在真实的开发中,表与表之间不可能毫无关系,有些甚至很复杂。现在我又创建了一个部门表,具体过程省略,最终在图表中展示如下图所示。然后使用reference去连接两个表。

在这里插入图片描述

因为user_info表中的department_id对应着department_info表的主键id,department_id是作为外键的存在,所以应该由user_info连接向department_info。但是连接好了之后会发现,user_info表的id旁除了标注着pk(主键)外,还标注着fk(外键)。那是因为用reference去连接两个表时,PowerDesigner会自动去找两个表同名的字段,但是明显不是我想要的结果,这里可以双击两个表之间的连接线进行修改。

在这里插入图片描述

先改一下名称、code和备注。
在这里插入图片描述

先选择parent key,这里就一个,已经默认给我选上了,然后在child那边选择对应的字段,这里是department_id,完成后点确定。
在这里插入图片描述

OK,可以看到已经更改成功了。

在这里插入图片描述

调整颜色

我这里只是一个很简单的例子,所以一眼就能看到我想看到的东西。但是真实情况中,可能图表会非常复杂,想一眼就看到我们关注的东西就没那么简单了,这个时候可将我们关注的东西调整一下颜色,然后它更明显。例如我想关注主键和外键,先点击图中选项。

在这里插入图片描述

如图:table->format->modify

在这里插入图片描述

找到主键和外键,我这里只设置一下颜色,字体、大小等其他属性就不做修改了。
在这里插入图片描述

点击确定后,会弹出一个询问框,直接选全部就行。

在这里插入图片描述

最后看看效果,是不是醒目很多。

在这里插入图片描述

导出sql

点击图中选项

在这里插入图片描述

选择一下导出的路径和文件名称。

在这里插入图片描述

找到刚刚导出的sql文件查看里面的内容,确认无误。
在这里插入图片描述

补充

在使用PowerDesigner的时候我发现,明明在设置表的字段时已经把那个属性加上了,但是在sql预览的时候它就是没有,就很气。比如我在列中增加了collate属性。

在这里插入图片描述

给collate设置上值。

在这里插入图片描述

但是在sql里就是没有T_T。

在这里插入图片描述

这个时候又需要调整配置了。
在这里插入图片描述

找到column下的add,更改一下value里的值。

在这里插入图片描述

原本value里的值是这样的:

%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%R%?[%PRIMARY%]][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]

现在需要往里面加上collate的配置:

%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][ collate %Collate%][.Z:[ %NOTNULL%][%R%?[%PRIMARY%]][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]

OK,搞定收工_

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛祖保佑永不宕机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值