ERwin简单教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Erwin教程
erwin是一个数据库关系实体模型(ER Model)设计工具,与Power Designer(Sybase公司开发)成为最常用的两种数据库设计工具。目前该工具被CA收购,成为CA数据库解决方案中的一个关键部分。与微软的Vision相比,erwin只能设计er model,而且设计界面选项较多,相对来说并不那么友好,增加了使用的难度。但如果你是一个出色的数据库应用开发者,那你一定会发现erwin的好处。因为在设计模型层次和复杂度提高以后,visio难以应付众多的数据对象设计和对象之间的关系设计。而且erwin提供了数据库正向工程、逆向工程和文档正向工程功能,可以把设计直接实施到数据库后者把数据库中的对象信息读到erwin设计中,也可以生成设计文档,格式还可以自动定义。在本教程中,将告诉大家我是怎样简单的使用erwin来进行数据库设计的。这里强调了简单二字,就是说有很多只有20%机会用到的80%的功能本教程是不会介绍的。本文用到的erwin版本是4.0。
教程一:Table & Subject Areas
Table是数据库中最基本的物理元素,保持了应用的持久数据。在普通的信息系统数据库结构设计中,有90%的工作是在设计table。而table的字段定义和表间的关系,也反映了整个系统的数据流图和大致的业务流程。
Subject Areas是erwin提供逻辑元素,在实际数据库中并不存在。它的含义是把物理元素和逻辑元素按照实际意义划分成各个主题,在主题域中添加对元素的引用,起到一个按图索骥和目录的作用。有一个缺省的主题域Main Subject Area,所有的元素都会在该主题域中存在。在我本人的设计方法中,我会新建诸如“参数表”,“分户表”,“控制表”,“临时表”,“明细表”,“日志表”和“总帐”等主题域。
下面跟着我的说明,一步一步来设计table:
装好erwin4.0后,打开程序。提示你是创建一个新模型还是打一个已有的,选择创建新模型。在Model Type中选择Physical(物理模型),下面的Target Database默认值就是Oracle8.x,使用默认值,点击OK,创建了一个空白的模型。
按照上图说明,创建一个表,缺省名称是“E_1”,自动排布在Main subject area的左上角,用鼠标在空白处点一下,然后把表拖到稍微靠近中间位置的地方,避免有部分信息被掩盖。右键点击表E_1,显示与表相关对象菜单:
我们最关心的是Columns,选中它,则弹出Columns对话框:
根据上图的说明,在本界面中可以修改表名称和表说明(需弹出table对话框),也可以新
增字段和对字段的各个属性进行修改。点可以把字段的位置上升或者下降。
我们把表的名称改为department,表说明为“部门表”。新增4个字段
dept_id varchar2(10) 部门编号
dept_name varchar2(50) 部门名称
mdept_id varchar2(10)管理部门编号
dept_class varchar2(3) 部门级别
其中dept_id为主键(当把某个字段设定为主键后,该字段会自动上升到顶部)。设计好后的结果如下:
点击确定后,缩略图被更新:
新建列的基本顺序是:把所有列名挨个添加,先不要设置数据格式等其他信息。然后设定列的说明,再设定列的数据类型,最后设定列的主键以及是否可空属性。
当一张表编辑好后,会自动在Main Subject Area中存在,如果想在其他主题域中引用,只需要在左边导航列表中把该表的名称拖到其他主题域中。在其他主题域中删除某张表时,系统会提示你是删除整个erwin模型对象还是在当前主题域中删除引用,如果选前者,那该表就永远删除了,否则只会删除在某个主题中的引用。
想要修改一个表的定义,只需切换到该表所属的主题域或者Main Subject Area(切换主题域的方法是在左边导航列表中找到该主题域的名称,右键点击选Go To),然后双击table 对象。如果这时出来的是Index或Triggers对话框,则关闭对话框,然后右键点击table对象,在菜单中选Column即可。
在下一节里,我将会讲数据库正逆向工程和文档正向工程功能。
----------------------------------------------
以下的应用都是创建和使用Physical Modal,尚未使用Logical Modal,因为感觉Logical Modal 实用性不强。
1)Forward Engineer
正向工程,可以在ERwin的Diagram区中绘制Physical Modal图,然后点击Forward Engineer来生成数据库中相应的表。在生成表之前,必须在服务器中先创建相应的数据库,比如DB_Alteration.
在使用Forward Engineer的过程中发现有一些bug,所以使用Forward Engineer 时最好谨慎些;以下是一些注意事项:
1. 只创建相应的Table、Column及Column的DataType、设置主键、是否为NULL、索引、标识(种子)。
2. 对于外键及Table之间的关系,不要在Diagram区中绘制,可以在DBMS(例如SQL Server)中进行设置。
3. 对于Column的默认值,不要在Diagram区中绘制,可以在DBMS(例如SQL Server)中进行设置;第2、3项在DBMS设置完成之后,再通过Reverse Engineer导入到Physical Modal图中。
4. 对于Column,可以填写对应的描述(Comment),但是Forward Engineer不会生成到对应的数据库中;不过这也是好处,我们其实并不需要把Column的描述写进数据库,只是为了方便生成文档而已嘛。^_^
5. 为了操作方便,可以个人先创建Model的Template,设置Default Fonts&Colors,点击保存;并且设置Model Property(在[Model]-[Model Property]),设置Default Null Option,Default DataType等。
绘制的Physical Modal图如下图所示:
2)Reverse Engineer
反向工程,操作比较顺利;直接将数据库的表结构设计导出成Physical Modal图。
方向工程生成的Physical Modal图,因为Forward Engineer功能对表的Relationship 设置不是很好用,最好是在DBMS中设置,然后再由Reverse Engineer功能生成Physical Modal图。如下图所示:
3)Complete Compare
将数据库的表结构设计和Physical Modal图进行比较和同步,注意对选项进行设置,不需要的选项要去掉,以免同步的时候耗费资源,出现"无法响应"的情况。
在点击Complete Compare命令之后,会弹出一个对话框,设置同步的选项。
第一步必须设置Sync Action,如果只是通过Physical Modal来更新数据库,则选择"Update Other"项,如下图所示:
第二步设置比较项,将不需要比较的项去掉;如下图所示: