




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PD和EA在数据库正逆向工程上的比较摘要:从概念数据模型到物理数据库的过程,称为数据库正向工程。反之,从物理数据库恢复概念数据模型的过程,称为数据库逆向工程。本文主要就PowerDesigner和EA在数据库正逆向工程上进行了比较,旨在找出两个软件在数据库正逆向工程时的差别,加深对两个工具的理解,为数据库的设计和修改奠定基础,为保证项目顺利进展提供前提。关键词:概念数据模型;正逆向工程;Powerdesigner;EA1 引言通过积累的项目经验可以知道,项目初期的设计是非常重要的,需求分析、数据库设计、概要设计、详细设计等。其中,数据库设计是整个项目的基础,没有数据库项目就没有办法继续,设计好
2、了数据库,整个项目就做好一半了,剩下的就是逻辑和算法之类的。在项目中,可能由于之前对数据库设计的不是很好,没有考虑到通用性,在随后的详细设计时就会出现问题,不得不重新对数据库进行调整。而之前的数据库已经导入到SQL Server或其他数据库软件了,怎样在不重做数据库的情况下直接在EA或PD中修改就成了需要研究的问题。项目时间有限,要在最短的时间内修改完才能节省时间来完成项目中其他的部分。其实,PD和EA中都提供了很好的处理功能。通过数据库正逆向工程,可以确保对数据库的设计和修改都变得更为方便、快捷,为保证项目的顺利开展奠定基础。所用软件及版本:powerDesigner16.5、Enterpr
3、ise Architecture 8.0、Microsoft SQL Server 2008。2 PowerDesigner数据库正向工程利用PowerDesigner进行数据库正向工程的步骤如下:2.1在PowerDesigner中新建一个Conceptual Data Model,即概念数据模型,在模型中画出各实体,并标注实体属性及属性类型,以及实体间的关系,模型中的具体内容如图1所示。图1 为了简单起见,此处只列出了三个实体,分别为factory(工厂)、workers(工人)、products(产品)。工厂的属性包括fid(工厂编号)、fname(厂名)、address(地址),主键为
4、fid。工人的属性包括wid(职工号)、wname(姓名)、degree(级别),主键为wid。产品的属性包括pid(产品编号)、pname(产品名)、specif(规格),主键为pid。其中,工厂和工人之间是一对多的关系,即一个工厂有多名工人,一名工人只能属于一个工厂。工厂和产品之间是多对多关系,即一个工厂可以生产多种产品,一种产品也可以由多个工厂生产。2.2 选择菜单中的Tools下的Generate Physical Data Model,如图2所示。图22.3 弹出的窗口中选择Generate new Physical Data Model,DBMS后选择Microsoft SQL S
5、erver 2008,点击确定,如图3所示,即把CDM转化成了PDM,转化后的结果图如图4所示。图3图42.4 再将PDM 生成对应的SQL 脚本,选择 Database Generate Database,如图5所示。图52.5 弹出窗口如图6所示,选择脚本存放路径、文件名及生成的类型,这里有两种类型可供选择,一种是生成脚本,即Script generation,还有一种是直接在数据库里生成,即Direct generation,这里选择先生成SQL 脚本,然后在数据库执行脚本。点击确定,给出提示信息,如图7所示。图6图72.6 打开Microsoft SQL Server 2008,新建一
6、个数据库UML,新建查询,把生成的脚本复制进来,如图8所示,点击执行,则在UML数据库中就生成了相应的数据表(也有可能立即看不到生成的数据表,需要断开连接重新连接,就可看到了),如图9所示。图8图9至此,使用PowerDesigner进行的数据库正向工程结束。3 PowerDesigner数据库逆向工程利用PowerDesigner进行数据库逆向工程的步骤如下:3.1 首先,需要新建数据源。执行控制面板管理工具数据源,弹出如图10所示的ODBC数据源管理器窗口。点击添加按钮,弹出创建新数据源窗口,选择数据源驱动程序,这里选择SQL Server Native Client11.0,如图11所示
7、,点击完成按钮。图10图113.2 弹出“创建到SQL Server的新数据源”窗口,如图12所示,为数据源命名为muldatsou连接服务器选择本地服务器,点击下一步。图123.3在“SQL Server应该如何验证登录ID的真伪”使用默认选项,即“集成Windows身份验证”,如图13所示,点击下一步。图133.4在弹出窗口中选择“更改默认的数据库为”选项,选择自动生成的UML数据库。如图14所示,点击下一步。图143.5 弹出窗口如图15所示,点击完成按钮。图153.6 弹出“ODBC Microsoft SQL Server安装”窗口,如图16所示,点击窗口的测试数据源按钮,测试连接是
8、否成功。图163.7 弹出图17所示窗口,表明数据源测试成功。图173.8在PowerDesigner里新建一个物理数据模型,如图18所示。图183.9 依次选择菜单中的DatabaseConfigure Connections,如图19所示。图193.10在弹出窗口“Configure Data Connection”中,选择刚建立好的数据源umldatsou,如图20所示,然后点击确定按钮。图203.11依次选择菜单中的Database Connect,如图21所示。图213.12在弹出窗口如图22所示,默认选择了刚才建好的数据源。点击Connect按钮,连接到该数据源。图223.13下面
9、进行逆向工程,依次选择菜单中的File Reverse Engineer Database,如图23所示。图233.14选择DBMS为Microsoft SQL Server2008,如图24所示,点击确定。图243.15选择“Using a data source”选项,如图点击后面的图标,连接到一个数据源。如图25所示。图253.16选择刚才建立的数据源,点击Connect,如图26所示。图263.17在弹出窗口中选择逆向工程需要的数据表,这里选择全部数据表,如图27所示,点击OK按钮。图273.18 则由数据库表转化的PDM如图28所示。图283.19 依次选择菜单ToolsGenera
10、te Conceptual Data Model,如图29所示,将PDM转化为CDM。图293.20 在弹出窗口选择“Generate new Conceptual Data Model”选项,如图30所示,点击确定按钮。图303.21 转化后的CDM如图31所示,可以看出和正向工程的CDM是完全一样的。图31至此,使用PowerDesigner进行的数据库逆向工程结束。4 EA数据库正向工程利用EA进行数据库正向工程的步骤如下:4.1 首先打开EA,新建项目,选择需要添加到项目的模型,因为要画ER图,所示这里选择Design Model,如图32所示。图324.2 绘制完后的ER图如图33所
11、示。包含三个实体,分别为factory(工厂)、workers(工人)、products(产品)。实体属性和实体间关系和上文PowerDesigner数据库正向工程CDM中各实体属性一样,这里不再赘述。图334.3 接下来把该ER图转化为数据模型图。选中所有的实体和属性名,右击,点击转换,弹出窗口如图34所示。选择“ERD to Data Modeling”选项及保存的位置,点击开始转换。图344.4 转换后得到的数据模型图如图35所示,这其实就是由ER图转换而来的数据表。图354.5 任何的数据库表都需要主键,外键和约束,下面我们对这些表进行修改,双击任何一个数据表,弹出窗口如图36所示。选
12、择Table Detail标签,选中“columns/Attributes”,点击确定。图364.6 弹出窗口如图37所示,表中的字段已经在窗口中字段列表列出来了,选中一个字段,就可以在上面设置该字段的数据类型、长度、是否为主键和是否非空等性质,设置完后,点击保存按钮,再选中下一个字段进行设置。以此类推,逐个表进行设置,直到所有表的字段都设置好为止。图374.7 另外还要对其添加外键,选中联系右击,选择外键,如图38所示,对其就可以进行设置。这样修改基本就完成。图384.8 修改完的数据模型图如图39所示。图394.9 选中数据模型图,右击,选择“代码生成”下的“Generate Select
13、ed Elements”如图40所示。图404.10 弹出的“生成SQL”窗口如图41所示。勾画出需要的选项,文件生成方式选择“单个文件”(也可以选择“每个表生成一个文件”),并选择生成文件的存放路径,在“选择要生成的类”下选择全选,点击生成按钮,这样就生成了SQL脚本。图414.11 打开Microsoft SQL Server 2008,新建一个数据库EAuml,新建查询,把刚才生成的SQL脚本复制进来,如图42所示,点击执行,则在EAuml数据库中就生成了相应的数据表,如图43所示。图42图43至此,使用EA进行的数据库正向工程结束。5 EA数据库逆向工程利用EA进行数据库逆向工程的步骤
14、如下: 5.1 首先,新建一个项目,该项目是数据库模型,如图44所示。图445.2 然后,依次选择菜单项目数据建模从ODBC导入数据表结构,如图45所示。图455.3 出现导入数据表结构的对话框,如图46所示,点击数据库后面的按钮,选择要导入的数据表所在的数据库。图465.4 接着选择数据源,这里选择“机器数据源”标签。由于之前已经建好了数据源umldatsou,这里直接选择该数据源,点击确定,如图47所示。图475.5 “导入数据表结构的对话框”中勾选要导出的内容,如图48所示。图485.6 点击导入按钮,在弹出的“选择导入数据库对象”对话框中选择需要导入的表,如图49所示。图495.7 生
15、成的数据库模型图如图50所示。图505.8 选中图中所有元素,点击鼠标右键,在弹出菜单中选择“转换”,如图51所示。图515.9 在“转换后”下面的选项中选择“Data Modeling to Data Model ERDiagram”,如图52所示,即把数据库模型图转换为ER图。图525.10 转换后得到的ER图如图53所示。图53至此,使用EA进行的数据库逆向工程结束。 6 结束语通过前面的比较可以发现,在数据库逆向工程中,PowerDesigner和EA其实相差不多,PowerDesigner中转换后得到的CDM和正向工程中CDM是一样的,但EA中逆向转换得到的ER图中把生成的关联表对应的实体也特殊标识出来了。在数据库正向工程中,PowerDesigner要比EA更易操作。在PowerDesigner中只要定义好CDM,就可以很容易的转化成可执行的SQL脚本,进而在数据库自动生成相应的数据表。而EA中,所画的ER图,也仅仅是个草图而已,当ER图转化为数据模型图时,才详细的定义里面的属性类型、主键、外键等,操作起来有点繁琐。5 参考文献1 赖信仁著.UML团队开发流程与管理 (第2版)M. 北京:清华大学出版社,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖合同范例鸡
- 2025重庆市安全员《C证》考试题库及答案
- 工伤申请授权委托书范本
- 交评合同范本
- 厂房设备合同范本
- 冲击钻转让合同范本
- 农村套房买卖范本合同范本
- 医院采购议价合同范本
- 混合式教学在初中数学中的实践
- 卖好车合同范本
- 2025年公务员考试《行测》模拟题及答案(详细解析)
- 2024年黑龙江省牡丹江市中考历史试卷
- 沪科版八年级物理知识点总结
- 孙权劝学(原卷版)-2024年中考语文之文言文对比阅读
- 高速公路日常清扫与养护方案
- 风电epc合同模板
- 2024年新人教版一年级数学下册《第2单元第5课时 20以内的退位减法解决问题(1)》教学课件
- 2022年陕西省普通高校职业教育单独招生统一考试语文甲(A)试题
- 失业保险待遇申领表
- 2024-2025学年初中信息技术(信息科技)第二册河北大学版(第3版)教学设计合集
- 期末测试卷(一)(试题)2023-2024学年二年级上册数学苏教版
评论
0/150
提交评论