ERwin简单教程
- 格式:doc
- 大小:112.00 KB
- 文档页数:11
ERwin简单教程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 AreasTable是数据库中最基本的物理元素,保持了应用的持久数据。
在普通的信息系统数据库结构设计中,有90%的工作是在设计table。
而table的字段定义和表间的关系,也反映了整个系统的数据流图和大致的业务流程。
Subject Areas是erwin提供逻辑元素,在实际数据库中并不存在。
它的含义是把物理元素和逻辑元素按照实际意义划分成各个主题,在主题域中添加对元素的引用,起到一个按图索骥和目录的作用。
有一个缺省的主题域Main Subject Area,所有的元素都会在该主题域中存在。
在我本人的设计方法中,我会新建诸如“参数表”,“分户表”,“控制表”,“临时表”,“明细表”,“日志表”和“总帐”等主题域。
下面跟着我的说明,一步一步来设计table:装好erwin4.0后,打开程序。
ERWin如何连接数据库(SQL2000、Oracle 10g)装了个ERWin,连数据库连了一个晚上,始终提示各种各样奇怪的错误,要么说我库不存在,要么说我库里没有表,这是能把人气死,后来发现只要注意到两点就可以正常连接数据库。
第一点要注意的是:在新建模型的时候要选“物理”或是“物理/逻辑”的,如图:第二点要注意的是:要想成功连接数据库,应该使用菜单栏里的“Database--Database Connection”,而不是“Services--Connection”。
注意,这一点非常非常非常重要,我开始就是一直使用“Services--Connection”,结果不论我怎么设置参数都有各种各样的错误,而“Database--Database Connection”一次就成功了。
(注意:前面新建的时候如果选的是“Logical/Physical”,那么需要先将模型选成Physical,否则菜单栏上没有Database这一项)。
连接SQL Server 2000很简单,填入相应的参数即可:连接Oracle 10g需要注意有个Connection String,就是你的服务名。
如果你不知道你有哪些服务名,可以在以下地方查看:“开始--所有程序--Oracle - OraDb10g_home4--Configuration and Migration Tools--Net Configuration Assistant”,选第三项“本地Net服务名配置--测试”,这个时侯列出的就是你所有的服务名,如果你还想测试一下用户名和密码,继续点“下一步”,这个时侯会提示登录失败,选“更改登录”,在里面填入相应的“用户名”和“密码”,如果没有问题,应该会出现以下界面这时候你只要在ERWin里填入相应的选项即可如果你想连接远程的Oracle数据库,则需要添加一个新的服务,还是在“开始--所有程序--Oracle - OraDb10g_home4--Configuration and Migration Tools--Net Configuration Assistant”里,选“本地Net服务名配置--添加”,后面填入远程数据库的服务名、IP等相应参数即可。
Erwin操作说明
域操作
1、鼠标右击“Domains”,选择“New”
2、点击新建的“域名”,点击鼠标右键,选中“属性”
3、在Logical模式下,选择General下的Name Inherited by Column,输入中文名称,如“步
骤”
4、在Logical模式下选择“Rename”,将名字修改为刚刚输入的中文名称,即“步骤”
5、在Physical模式下的General下的Name Inherited by Column,输入英文名字,即“FStep”
6、在Physical模式下Comment下的Comment Inherited by Col,输入注释,该注释将和数据
库中的字段的注释一致
7、在Physical模式下选择“Rename”,将名字修改为刚刚输入的中文名称,即“步骤”
表操作
1、Logical模式下,鼠标右击“Entities”,选择“New”
2、Logical模式下,选择新建的表,点击鼠标右键,选中“属性”
3、编辑Name,修改表名,如“测试表”
4、在Physical模式下选择新建的表,点击鼠标右键,选中“属性”编辑Name,修改表名,
如“TBL_TEST”,该名字与建的表名保持一致
主题模块
鼠标右击“Subject Areas”,选择“New”即可
显示设定
鼠标右击主题区域相关的Stored_Display,选择属性,然后在“Logical”和“Physical”相关选项中进行设定即可。
目录1.通过Erwin建立er1文件 (1)2用ERWin的方法将ERWin中的表导入到数据库中 (5)3用ERWin的方法将数据库表结构导入到ERWin中 (16)Erwin数据库设计工具介绍数据库设计错误将会导致在很长一段时间内不断听到各种抱怨,因此,选择一个适合的数据库开发工具对数据环境进行规范将非常重要 .Erwin在物理数据库的生成和反向生成、双向同步和比较功能方面居领先地位 ,可以进行逆向工程、能够自动生成文档、支持与数据库同步、支持团队式开发,所支持的数据库多达20多种。
Erwin数据库设计工具可以用于设计生成客户机/ 服务器、Web、Intranet和数据仓库等应用程序数据库。
1.通过Erwin建立er1文件在开始\程序菜单中打开Erwin,在Erwin主窗口中单击create model图标弹出如下窗口:在new model type选项中选择physical项,在database中选择oracle类型,version中选择9.x版本,如下图:点击ok按钮.1.1建表单击independent table控件图标,在页面上点击如下图:单击E_1处可以修改表名:选中此表点击右键选择columns如下图:单击new按钮增加字段如下图:选择字段类型为string型,字段名称为name如下图:单击ok按钮,如下图:在oracle选项卡中设置好字段的相关属性,单击ok按钮如下图,根据以上方法,增加相关字段.这样我们就建好了一个表,保存就会生成er1文件.2通过ERWin将表导入到数据库中导入方法如下:进入REWin,打开要往oracle中导入表的er1文件如下图:Connection,用户名的口令(如qts)、Connect String指连接的数据库名称及机器名(如qts_wangchao)。
选中要导入的数据表,点鼠标右键,选中columns,如下图选中DB Sync 按钮,出现下图选中Next 按钮,出现下图选中Next 按钮,出现下图选中Next 按钮,出现下图选中Next 按钮,出现下图过一会儿,出现下图显示当前选中的数据表与要导入的数据库中的数据库表进行比较。
ERwin反向导入工程(从数据库把表导入ERwin)Erwin反向工程1.首先打开Erwin,如下图1所示图12.在Erwin中新建一个model,在菜单栏中file——new,如下图2所示在图2中,选择logical/physical,在target database 栏中,选择你要链接的数据库和数据库版本,最后点击【ok】按钮3.现在已经建好了model,如下图3所示图34.然后把图3中logical模式换为physical模式,如下图4所示5.在菜单栏database——choose database进入如下图5界面图5在图5中确认一下自己要连的数据库,点击ok6.菜单栏database——database connection进入如下图6界面图6如上图所示,在该页面中,选择你要导入到数据库及数据库用户和密码注意:connectionstring:中填写的是全局数据库名如:orcl,最后点击【counnect】建立连接7.在菜单栏tools——reverse engineer进入如下图7界面图7在图7中,选择logical/physical,在target database 栏中,选择你要链接的数据库和数据库版本,最后点击【next】按钮进入如图8界面图8在图8界面中,可以根据自己的需要选择你要导入到数据,我在这里只选择了table,然后点击【next】按钮,进入如图9界面图9如上图所示,在该页面中,选择你要导入到数据库及数据库用户和密码注意:connectionstring:中填写的是全局数据库名如:orcl,最后点击【counnect】按钮,进入如图10界面图10现在我们进入了从数据库把表导入Erwin的过程中,等表都导完之后,该界面自动消失,会出现如图11界面图11在图11界面中,咱们看到的小方块的东西就是表,点击放大,就可以看到表和字段了,如图12所示图128.这时我们已经从数据库把表导入到了Erwin中,然后按Ctrl+S 进行保存,如下图13所示图13点击【保存】按钮完成保存操作,这样就完成了Erwin的方向工程操作。
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 AreasTable是数据库中最基本的物理元素,保持了应用的持久数据。
在普通的信息系统数据库结构设计中,有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"项,如下图所示:第二步设置比较项,将不需要比较的项去掉;如下图所示:4)Report Builder生成报告文档,使用比较方便,如果是文档中包含有中文,可能会出现乱码现象,必须在设置首选项:打开一个模板,点击[编辑]-〉[首选项],然后设置默认的字体(例如宋体)就可以了。
在生成报告文档之前最好个人先新建并定制一个模板。
5)DB Synchronize跟Complete Compare命令一样,只是在点击选择Physical Modal图某个Table时,可以针对数据库中的一个表进行同步。
6)Select Target Server进行不同类型数据库之间的迁移,没试过,应该可行。
^_^适用于对ERwin初学者使用1、如果只做文档,可以选择只建立logical view2、如果是做项目,需要同时使用Logical view 和physical view3、一般Logical view是用于做文档的,而physical view是用于生成或者导出脚本的4、表之间的三种连接线,第一种用于把表1中的主键插入到表2中的外键,且插入的作为表2的主键第二种用于多对多,很少用到第一种用于把表1中的主键插入到表2中的外键,且插入的不作为表2的主键5、Logical中的和physical中对应的表的名称可以不一样,一般在physical中的表的名称用英文名称在Logical中的表的名称则无所谓,如果需要可以用中文6、在Physical view中的Tools中的[Forward Engineer/Schema Generation]中在右侧的表中用对勾可以选择需要操作的项目点击【preview】可以看到脚本,可以复制过来改改就能是脚本了点击【report】可以直接导出脚本点击【Generate】则可以直接连接到数据库,把相关的Scheme都建立起来7、在Logical view的一个Entity上右键点击,选择attributes,就进入了给表加入column 的界面了在General中选择一种基本类型(Domain)比如string后,就能加入一个名称了,Attribute name就是Logical view中的名字Column name就是用于生成脚本的名称。
在General中的Primary Key的checkbox就是选为主键的地方了。
在DataType中就能设定具体的数据类型,比如VARCHAR2,NUMBER等。
8、关于索引和约束的建立右键在Entity上,选择Key Group就能新建约束了9、在Attribute中选择Datatype就能在Validate中选择这个column相关的约束,在Default 中选择这个column的默认值了10、关于Domains的概念Domain的概念在Sql server中是支持的,可以在脚本的最开始就定义一堆的Domain,然后在其后的脚本中都引用相关的域名,而不用直接原始的数据类型了。
for example:在一个项目的数据库设计中卡号用得非常的多:所以在ERwin中Logical view 中选择Domain,然后右键点击? ,new,就能创建一种新的Domain在叫做Cardseries。
选择property可以给他选择相关的属性,比如选择Datatype为VARCHAR(18),还可以给它选择约束等等。
这个新建的Domain 就能在这个项目中方便的使用了。