问什么软件画er图逼格最高,当然是非PowerDesigner(CDM)莫属啦。
最主要的是它可以帮你检测你er图的错误,还可以生成DBMS的代码框架
那么我们要怎么用它来画ER图以及在DBMS中运行它呢?
下面就是详细的教学。

一、首先是建立模型

找到file->new model

然后按照下图选择:

MongoDB要做er图吗_mysql


之后ok创建模型。

二、解锁工具栏

点击tools->Model Options…

MongoDB要做er图吗_MongoDB要做er图吗_02

一般我们使用ER图作为概念模型图,所以建议选择Entity/Relationship或者E/R+Merise,这两者的区别是后者在ER模型的基础上还提供了Merise建模理论,允许在概念模型中使用Association和Association Link。另外三个Notation中,Merise使用Association完全代替了Relationship;IDEF1X是IDEF系列方法中IDEF1的扩展版本,是在E-R(实体关系)方法的原则基础上,增加了一些规则,使语义更为丰富的一种方法,其表现方式与一般的ER图表示有一点区别;Barker比ER模型还要简化,只能使用“实体”和“关系”两个组件进行建模,不能使用“继承”组件。一般情况下,使用E/R模型就够了,不过为了更好的表现实体之间的业务关系,有些时候还是使用Association来代替实体还是有一定的必要的,所以更建议选择E/R+Merise模型。(摘自博客

三、开始设计ER图

首先熟悉右手边的工具栏

MongoDB要做er图吗_mysql_03


现在先拉出一个主体。

MongoDB要做er图吗_ER图_04


双击它。

MongoDB要做er图吗_ER图_05


对于上图的填空,如果不需要的话,除了name和code下面的都可以不用填写。

MongoDB要做er图吗_ER图_06


对于其中的数据类型,具体如下

MongoDB要做er图吗_powerdesigner_07


只要按上面的要求选择好,基本上就能构建出你需要的表了。

如下就是一个简单的表

MongoDB要做er图吗_CMD_08


然后就是联系的建立,如果有属性选择有属性的联系,否则选择无属性联系

MongoDB要做er图吗_mysql_09


MongoDB要做er图吗_mysql_10


然后我们继续鼠标双击联系。

MongoDB要做er图吗_CMD_11


对于上图的填空,如果不需要的话,除了name和code下面的都可以不用填写。

MongoDB要做er图吗_ER图_12


对于联系的属性,和上面主体的属性是一样的。

这样子大家就能基本上完成er图创建了。

上面的Cardinality的

0,n代表的就是 user要么对应n个Entity_4,要么对应0个Entity_4.

0,1代表的就是 Entity_4要么对应0个user,要么对应1个user。

这两个合起来代表的就是多对一的关系

MongoDB要做er图吗_mysql_13

四、将er图转化为其他数据库模型

找到tools->Generate Physical Data Model…

MongoDB要做er图吗_MongoDB要做er图吗_14


在这里选择你需要的数据库模型即可。这里我选择的是mysql5.0.

然后确定。(上面图中有Generate new Physical Data Model这是创建新的数据库模型,update existing Physical Data Model是更新模型)

每次er图改动后,都要转化一下模型,才能给mysql使用。

这里转化完后,你会发现弹出一个新的窗口,er图有一些变化(当然如果你要修改er图还是回到原来的窗口去修改)。

这个新的er图便是以你选择的DBMS创立的新模型。

五、导出DBMS代码

在上面新生产的模型窗口中,找到Database->Generate Database…

MongoDB要做er图吗_MongoDB要做er图吗_15


点击确定即可。

(这里可以看你建的数据库的大概模型,具体操作就去看帮助文档吧,不看的话,直接导出就行)

MongoDB要做er图吗_MongoDB要做er图吗_16


显示这个就代表你导出成功了。

六、在mysql中运行导出文件

方法1:

MongoDB要做er图吗_powerdesigner_17


直接拖进可视化工具里,就可以直接运行了。

但是本人不推荐这种方法。

方法2:

使用其他文本编辑器打开生成的文件,在可视化工具中创建新的查询,将代码复制进查询里运行。

MongoDB要做er图吗_MongoDB要做er图吗_18


然后我们就能分段运行代码,检查错误,也可以根据自己的思维去修改部分代码。

就这些啦。powerDesigner的帮助文档特别全,大家如果有其他不懂的可以多看看帮助文档。