写在最前
本教程取自数据库系统课程实验,对PowerDesigner正向工程与逆向工程的实现进行一个总结。从CDM的创建、到PDM的转换以及逆向工程的具体步骤,本文力争具体易懂。
操作步骤
创建CDM
(1) 使用PowerDesigner构建出ER图。
a) 打开PowerDesigner工具。
b) 选择文件菜单中的NEW子菜单,选CDM数据库模型。如果是第一次使用,直接在欢迎页面新建即可,图示即为这种情况。
c) 在Model name 出输入要建立的CDM模型的名字为Stu_course,按确定按钮,系统出现如下的屏幕:
这是一个新的面板。
d) 建立ER模型需要指定实体以及实体之间的关系,在这里我们分两步:首先建立实体,之后创建实体间的联系。在面板中选取Entity,然后在画布中放置,在实体中输入实体的名称、属性、指定主属性,得到如下结果:
此时还没有指定表格之间的联系。以STUDENT表为例,其详细属性为:
e) 下一步,我们确定实体之间的联系。实体间的联系有三种:
i. 一对一
ii. 一对多/多对一
iii. 多对多
其中,第三种关系需要通过关系表实现。前两种关系可以直接创建Relation。设置好关系之后,ER模型为:
f) 对实体和属性增加注释,以增强可读性。注释不会对ER结构产生任何影响,仅为了便于理解,因此可以直接添加中文注释。
因此,此时的ER模型(也就是最终的CMD文件)为:
创建PDM
(2) 把产生的CDM图转换成PDM图,然后生成数据库的SQL脚本文件。在MySQL数据库中检验脚本的正确性。
a) 提前需要准备好:安装MySQL数据库。
这一部分的具体步骤可以参考我的这篇文章:
MySQL系列(一):超详细、非常适合入门的MySQL安装、环境配置教程
b) 启动MySQL数据库。
c) 在PowerDesigner中,将CDM转换为PDM。
首先,选择“Tools”中的“Generate Physical Data Model”,意为“创建物理数据模型”。之后将弹出PDM的设置选项框。
在“DBMS”中选择数据库管理系统为“MySQL 5.0”,之后点击确定。
等待数秒,没有出现报错,成功生成如下PDM。
至此,PDM已经成功生成。
产生数据库脚本
d) 产生数据库脚本。
选择“Database”中的“Generate Database”。
在设置框中设置目标文件的目录与名字,之后点击确定。
成功生成文件。
点击“Edit”查看其详细内容。
将这一段脚本拷贝到MySQL数据库中执行。
逆向工程
e) 配置数据库连接参数(配置数据源)。
选择“Database”。检查DBMS需要为“MySQL 5.0”。
点击确定,出现如下页面。
选中“Using a data source”。点击旁边的图标。
选择config。
点击第二个图标,新建。
选择第二个选项,点击下一步。
这里本应该有MySQL数据源,但没有。查阅资料,需要手动安装MySql ODBC驱动。
安装完成之后,再次尝试,出现MySql ODBC。
点击“下一步”。在该页面输入信息,点击“Test”。
选择一个已有的数据库,我的数据库是test,之后点击确定。
f) 在PowerDesigner中建立数据库。
在这里选择刚刚创建的数据源。
点击确定,连接成功。由于已经提前将SQL脚本导入MySQL数据库并生成表格,因此这里可以看到表格:
首先试一试选中全部表格,点击“OK”。
等待完成逆向工程。
点击“OK”,成功生成逆向PDM。
证明逆向工程成功实现。下面,只选中六个表格,再次尝试逆向工程。
最终结果为: