使用 PowerDesigner 做数据库设计,主要用到两个大的模型:
- 第一个是
CDM
:概念模型; - 第二个是
PDM
:物理模型。
整体的步骤如下:
- 先创建 CDM;
- 然后把 CDM 转化成 PDM ;
- 最后把 PDM 转化成数据库 sql 执行语句;
- 还可以把 PDM 转化成 word 文档。
所以本文也分为 4 个步骤介绍。
一、创建概念模型
打开之后,选择创建概念模型:
修改名称之后点击 OK:
可以在 Domain 中设置常用的数据格式:
这样以后我们创建的实体属性会继承这里的数据类型和长度。
然后点击右上角的表格,再在屏幕中点一下,从而创建一个实体:
然后点一下右键,恢复到箭头模式。
双击实体进行设置:
可以设置表的名字,代码名称,和简介。
然后可以设置属性,但是属性没显示全,我们可以通过点击小漏斗,将我们需要的打钩:
这个时候我们可以手动输入数据类型和长度,但是我们之前设置过 Domain,所以可以直接选择即可:
同时注意修改 code 为英文,因为 Name 可以是中文,code 不行。
再说一些中间几个字母表示的含义:
- P 是
Primary Identifier
是否为主键表述的缩写,勾选了 P 就代表当前被勾选字段是该表的主键。 - M 是
Mandatory
的缩写,勾选表示非空约束。 - D 是
displayed
的缩写,表示是否在实体图形符号中显示该属性。
最后我们再设置一下这个主键即可,它可以在关系图中,一下子就能清楚地看到某个表的主键是哪个:
现在我们又两张表,可以设置关系了:
点击之后长按鼠标即可设置关系:
学生表和班级表是多对一的关系,所以可以选择这个:
课程和学生是多对多的关系:
值得一提的是我们在设计概念模型的时候不用考虑外键约束和中间表的问题,因为转化为物理模型的时候会自动生成,我们只需要设置好关系即可。
到此为止 CDM 就设计好了。
二、创建物理模型
PDM 可以直接创建,也可以从 CDM 之间生成,还可以从已有的 PDM 再次生成 PDM 。
在 PDM 中可以对 CDM 生成的表结构,做进一步的核对、确认一下,这是不是就是自己想要的数据结构,需要注意的是 CDM 中的关联 association 会直接生成对应的表 table,还有一点需要注意,如果一个表中有两个来自同一个表的外键,外键的命名还需要人为的手动修改一下。
我们这里直接使用 CDM 生成 PDM:
点卡之后可以设置数据库和姓名:
在第二个选项卡中还可以设置表的前缀:
最后点击确定开始生成,如果没有报错,就是白色的输出页面:
这是就发现已经生成完了,一对多自动增加了外键约束,多对多自动增加了一张中间表。
三、导出 SQL 脚本
从 PDM 生成 SQL 语句:
在预览中可以查看最终生成的结构,如果没问题就执行:
四、制作 Word 文档
如果是第一次生成文档则先点击这个:
点击这里新建一个自己的模板:
关于文档模板的制作大家可以参考这篇文章,我觉得写得很清楚,就不过多介绍了:https://cloud.tencent.com/developer/article/1468017。
搞好模板之后点击生成:
选择刚刚的文件夹下的模板即可:
设置为中文格式和姓名,以及生成的格式。
最终效果: