ERwin相关概念快速入门(albertyi原创)
1、如果只做文档,可以选择只建立logical view
2、如果是做项目,需要同时使用Logical view 和physical view
3、一般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,然后右键点击? <unkonwn>,new,就能创建一种新的Domain在叫做Cardseries。
选择property可以给他选择相关的属性,比如选择Datatype为VARCHAR(18),还可以给它选择约束等等。
这个新建的Domain 就能在这个项目中方便的使用了。
11、关于Subject Area的概念
当整个项目设计表比较多的时候,很难在一个view中连接清楚所有的表的之间的关系
这样就需要在Subject Area中分多个Area,把相关的表放到相关的的Area中去连接关系,这样比较方便设计。
1>右键点在一个相应的Area上,然后go to ,就能看到那个Area相应的View
2>右键->property,就能设置当前Area中需要哪些表,其中比较有用的一组按钮是最后一组(两个),能把选中的要加入Area
的表的相关的M级Ancester和N级Descendant同时加入Area,至于M和N可以自己选择,非常方便。
注意:在任何非主Area中新建的Entity都会在<Main Subject Area>中有一份,删除也是同时进行的