ERwin内部培训资料Word文件下载.docx
- 文档编号:18019262
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:64
- 大小:216.60KB
ERwin内部培训资料Word文件下载.docx
《ERwin内部培训资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《ERwin内部培训资料Word文件下载.docx(64页珍藏版)》请在冰豆网上搜索。
5.1更多实体与属性20
5.2关系类型与基数26
5.3多对多关系29
5.4角色名与申明34
5.5存在与标识依赖34
5.5.1关系描述与插入、替换、删除(IRD)规则34
5.5.2删除规则35
5.5.3插入与替换规则36
6标准化37
6.1介绍37
6.2普遍问题37
6.2.1重复数据组37
6.2.2相同属性的多个用途38
6.2.3相同事实的多个值40
6.2.4相矛盾的事实41
6.2.5丢失信息43
6.2.6统一44
6.3范式汇总45
6.4ERwin支持的规范化45
6.5需要多高的范式级别?
46
7信息模型方法学50
7.1信息模型对象50
7.2ERwin支持的模型理论51
7.2.1领域信息模型52
7.2.2TheKeyBased(KB)Model53
7.2.3TheProjectInformationModels53
7.2.4TheFully-attributed(FA)Model53
7.2.5TheTransformationModel53
7.3关系系统的DBMS模型54
7.4信息建模对话54
7.4.1SessionRoles55
7.5小结55
1简介
1.1欢迎
欢迎使用ERwin信息模型,以前如果你从未见过模型,ERwinMethodsGuide将帮助你了解什么是模型,以及它适合于什么。
如果你已经一些有使用数据和信息模型的经验,那么你知道它在业务需求中是很有用的。
如果在设计新的信息系统或在维护和修改存在的东西,模型能帮助你。
本文没有包括信息模型的许多细节。
但是,到你读完它的时候,你将足够地了解它,即使你仅仅初学者,ERwin的方法也将为你工作。
本文覆盖了由ERwin支持的信息模型方法,它不包括了ERwin的详细使用,如何使用ERwin工具请见”ERwinUser'
sGuide”。
由ERwin支持的信息模型方法是神秘的缩写字:
”IDEF1X”,IDEF1X方法由U.S.空军开发。
目前,它应用于空军、政府机构、航空工业和财政部门、大公司、大型企业。
并且,信息模型在各种主要的管理严格的大公司是必需的。
有关标题:
目的
总体上,ERwinMethodsGuide有下列目的:
Ø
提供对ERwin支持的信息模型方法的基本层次理解,来做实际数据库设计;
介绍一些IDEF1X建模语言的能力和丰富的功能,为将来学习提供基础知识;
提供附加信息,让你更好地了解ERwin的建模特点。
1.2适用于
ERwin方法指南适用于:
数据库设计新手------信息建模入门书,使用ERwin方法的指南;
经验丰富的信息建模者------作为IDEF1X数据建模和ERwin方法的指南;
经验丰富的IDEF1X用户------作为了解ERwin支持的IDEF1X特点的指南;
1.3文档习惯
Bolditalics表示新的重要概念:
e.g.,"
Anattributeisapropertyofanentity."
Non-bolditalicsbringwordsorphrasestothereader'
sattention:
Entitynamesshouldalwaysbesingular."
ENTITY-NAMEsappearinCAPS:
e.g.,“ACUSTOMERisdescribedinthemodelas..."
PluralENTITYsarereferredtobyappendingan'
s'
(ignoringspelling):
e.g.,“ACOMPANYoperatesinmanyCITYs"
(ratherthanCITIES):
“Attribute-names"
appearinquotes:
e.g.,“A"
customer-name”isrecordedforeachCUSTOMER.”
<
verbphrases>
appearinsidebrackets:
e.g.,“ACUSTOMER<
borrowsunder>
oneormoreMOVIE-RENTAL-AGREEMENTs.”
1.4如何使用本文
如果你刚开始:
我们假定你对数据库有一些了解,因为它对你读下一节特别地重要。
ERwin指南将提供你所需要的所有背景知识。
不要犹豫,立即把ERwin应用到你的应用领域,你会发现ERwin将帮助教你方法。
如果你有使用其它建模型语言的经验:
鼓励你复习所有的ERwinMethodsGuide,重点在第4,5和6章。
如果你已经有使用IDEF1X经验:
你可能会找到一些注趣册背景资料,特别注意第5,6和7章,虽然许多叙述是熟悉的,你将会找到一些新思想和有趣例子。
2信息系统、数据库和数据模型
2.1关系数据库和ERwin模型
为了竞争,许多企业正在了解使用信息系统的好处,信息系统通常提供企业服务------更好地管理和readier访问信息资源。
在某些情况下,信息系统不仅仅是服务,而且是用于提供战略界限(strategicedge)的产品,如在航空公司订座或金融服务行业。
要认识到信息系统的好处,必须以及时和节约的方式来开发它,他们必须满足实际业务需要,并且必须是可修正的、可维护的、和最小费用的,实现这个目标是今天的主要挑战。
开发信息系统的理由之一仍然是那个挑战,正如经常注意到的,软件的进步尚未与硬件的发展进度并驾齐驱,软、硬件发展差距的原因部分地归结于在软件开发过程的各个阶段中缺乏推动生产力的标准方法和工具,简而言之,“皮匠的孩子没有鞋。
”
然而,最近十年,在应用开发的方法和工具有了明显的进步,有了开发战略信息系统的有效工具和方法,因此,说“皮匠的孩子没有鞋”就不真实了,而是有鞋了。
但是时常看到那鞋太贵,不合适,或有些孩子简单地拒绝穿他们。
最近十年出现的最重要工具是数据库管理系统或DBMS------提供可靠、方便的存储、恢复和更新数据的方法。
假设在建一个使用DBMS的应用和根本不使用DBMS的应用之间作一个选择,只有少数人认为用DBMS建立的应用是不合适的。
随着DBMS的发展,为模型化数据和设计数据库的新逻辑设计方法已出现,最重要的和广泛地使用的方法被称为------实体-关系模型或“ER”模型。
在ER模型中,所有数据被看成是说明关于实体和关系的事实,如:
连接或实体间的关联。
例如,航空公司订座信息系统有记录有关乘客订座信息数据库。
如:
在”FLIGHT<
运送carries>
许多PASSENGER”中,数据库描述关于FLIGHT实体,PASSENGER实体和关系”运送(carries)”。
2.2关系模型
ER模型提供查看数据的高级”逻辑”,在ER下模型,有数据三个主要的数据模型:
关系模型,层次模型和网状模型。
现代DBMS通常建立于三模型中的一个之上,基于层次模型的DBMS,用嵌套的数据结构存储数据;
基于网状模型的DBMS,层次模型不适于特殊环境,其数据被组织在网的节点和连接中;
基于关系模型的DBMS,所有数据被存储在二维表格中。
ER模型适用于所有三种模型,但最适用于关系模型。
TEAM
Team-Name
Year
Team-City
Mets
1989
NYC
Yankees
Dodgers
LA
RedSox
Boston
Figure2.1:
TEAMtable
表名和所有列名被说成是构成表格模式(schema),这里是TEAMschema:
模式(schema)------一组以数据定义语言来表达的语句集,该语句集完整地描述了数据库的结构。
TEAM(team-name,year,team-city)
在关系模型中,所有数据值必须是原子的(不可再分)------在一个单元中不允许存储分离的值。
如果我们想存储有关1990Mets的信息,不能简单地把1990加入到已存在的行,(Mets,19891990,NYC)。
相反,我们必须单独增加一行(Mets,1990,NYC)到数据库。
这个数据库的逻辑模型有2个实体,PLAYER、TEAM和关系”has”位于他们之间。
读作”ATERM<
has>
manyPLAYERs”。
Figure2.2:
数据库模型
相应于表的每个实体,下面是PLAYER表中一些行的数据例子:
PLAYER
Player-name
player-number
team-name
year
BA
D.Gooden
16
.186
O.Herchiser
55
.075
D.Mattingly
23
.269
Figure2.3:
PLAYERtable.
位于实体间的关系“has”通过共享”team”和”year”的值体现出来。
列“team-name”和”year”是TERM实体的键(如果我们假定一个队一年只能在一个城市),要了解1989年Mets队有哪些球员?
你必须查看PLAYER表的这些键,在3-7章中我们将了解更多的键和关系。
模型关系
数据模型例子
所有三种数据模型以相似的形式表示有关实体的信息------例如:
他们全都用记录表来存储详细的FLIGHT信息,不同的是关系的表示方法上。
层次和网状模型使用明确的物理指针结构来编码关系;
关系模型用共享值来隐含地编码关系;
ERwin使用的ER方法是使用共享键表示关系,这是关系系统的特点。
网状或层次DBMS根据物理指针结构的”导航”来访问关系信息;
相对地,关系DBMS需要使用连接在相关的表中找到匹配的值。
通过隐含的存储关系,关系模型获得数据独立。
关系DBMS允许物理数据存储结构的变化,而使应用代码的改变很小。
日益增加的向关系DBMS迁移的主要原因是数据的独立性。
无论何时,两个实体间都有关系,一个实体中的因素引用或关联于另一个实体的因素。
保持相关实体间的关系被称为参照完整性。
由于关系被隐含地存储在关系模型中,需要额外的负担来保持参照完整性。
今天大多数负担由程序员负责,然而,逐渐地关系DBMS提供对参照完整性的各种形式的自动支持,如触发器------依附于表的存储式过程,条件满足就触发。
无论你使用什么类型的DBMS,绘制数据库ERwin模型都是有用的。
最明显的好处是数据库使用的系统文件的编制,应用开发人员用来定义系统,与最终用户的相互交流;
第二个好处是提供清楚的参照完整性限制图片,在隐含的关系中,保持参照完整性在关系模型中尤其重要;
第三个好处是提供一个”逻辑的”、独立于数据库的DBMS图片,可用工具自动产生DBMS-专用信息。
因此,从属性层次图表中,ERwin产生DB2表格模式,相同图表也可用于产生其他DBMS模式。
Figure2.4:
Exampleofavideostoredatamodel.
信息模型是用来支持业务领域的数据结构和业务规则的规范,它表示一套业务信息需求。
信息建模是描述信息结构和捕获业务规则的过程,是信息系统设计的重要组成部分。
对图2.4作如下说明:
仓库中的一部电影MOVIE有1个或多个电影拷贝MOVIE-COPY,记录信息包括电影的名称、名字、等级、租用率。
每个电影拷贝MOVI-COPY都产生它自己的记录。
消费者CUSTOMER租用电影-拷贝MOVIE-COPY。
电影-租金-记录MOVIE-RENTAL-RECORD记录消费者CUSTOMER租用的每个电影拷贝MOVIE-COPY。
有时相同的电影-拷贝MOVIE-COPY也许租给多个消费者CUSTOMER。
每个电影-租金-记录MOVIE-RENTAL-RECORD也记录电影的期限日期,和一个指示是否超期的状态,根据他的或她以前和商店关系,指定消费者CUSTOMER信用状态代码,它指示结帐方式:
记帐、信用卡、现金。
当由牵连类型指定时,商店的雇员EMPLOYEE被包括在许多的电影-租金-记录中MOVIE-RENTAL-RECORD,至少一职员包括在每个记录。
由于同一天同一个职员EMPLOYEE也许多次包括在相同的租用记录中,将来通过时间邮戳来区分。
消费者CUSTOMER的支付的租金被记录在电影-租金-记录MOVIE-RENTAL-RECORD中,超期费用也记录在其中。
超期通知OVERDUE-NOTICE用来提醒消费者返还磁带,有时职员被列在超期通知中OVERDUE-NOTICE。
商店保存雇员的工资和地址信息在雇员表EMPLOYEEs中,有时需要查看消费者、雇员、电影名字,而不是他们的“编号”。
这是个相对小的模型,但是它说明许多有关视频租用商店的信息。
从它,我们不仅能获得业务数据库的思想,而且也到达对业务的一个好的形象描述。
在这个框图中有一些不同类型的图形:
实体、属性、关系和其它描述业务规则的符号。
在下列章节中,你将学到更多的不同类型的图形对象的含义,以及如何应用ERwin创建你自己信息模型。
3语言概述
3.1实体、属性和关系
在这章,我们将介绍ERwin所使用的信息模型方法,以及它所提供的描述业务信息结构的强大功能的简要概述。
ERwinMothedsGuide中使用的例子是为清楚地展示而有意挑选的,如果你是信息模型的新手,你应该不被简单的例子所误导,认为ERwin方法对你的业务应用起不了作用,实践证明该方法已经广泛地应用于从航空航天工业到银行业和财政的各个领域已近十年。
用ERwin做信息模型的主要好处之一是容易使用,它能产生一个概述信息模型工作的框图。
框图组件
实体和属性的基本用框图语法
候选键属性
关系定义
读模型
泛化结构(GeneralizationHierarchies)和继承
ERwin框图主要由三种主要构建块组成------实体、属性和关系,如果我们把框图看成是表达业务语句的图形语言,那么实体是名词,属性是形容词或修饰,关系是动词。
用ERwin构建信息模型是一件简单的事情------找出正确的名词、动词、形容词集,并把放在一起。
本章我们将介绍实体和关系的基本概念,4,5,6章提供ERwin方法的高级特性的细节。
“实体”的定义
在ERwin框图中,消费者CUSTOMER实体由一个带有名字的方框来表示,实体的所有属性在框内。
实体名将总是是单一的------是CUSTOMER不是CUSTOMERs,是MOVIE不是MOVIEs,是COUNTRY不是COUNTRYs。
总是用单数名词,你将获得一致命名标准的好处,有助于把实体实例作为一套说明语句来“读”框图。
Figure3.2:
Exampleentity.
实体框图中的水平线把属性分为两套:
键和非键。
线上叫做键区,线下叫做数据区。
CUSTOMER的键属性是”customer-number”,非键属性是”customer-name”、”customer-address”。
标识实体的属性集称着实体的键。
键属性本身是一个属性,或者独自,或者与其它键属性结合,将形成对实体的唯一标识符。
主键被放置在线上方的键区域,非键属性是不能作为键的属性,它们被放置在数据区。
为了在信息模型和稍后的数据库中正确地使用消费者CUSTOMER实体,我们必须能唯一的别实例。
如何区别一个消费者?
一方法是用用户姓名作为键,另一个方法是给每个消费者指定唯一编号,如图3.2。
格言
无论谁要在模型中加入一个实体,最重要的问题之一是你需要问:
“我们怎样标识实例?
这儿有句格言帮助你记得这:
“Noentitywithoutidentity!
“
ERwin模型中的实体实例总是由键属性标识。
选择实体的键是重要的一步,并且需要认真地考虑,也许有几个属性,或属性组作为主键。
那些被选择出来作为主键的属性、或属性组叫候选键属性,候选键必须唯一地标识实体的每一个实例,不允为NULL,如”空empty”或“忽略missing”。
通常,主键的选择需要一定的判断力,而且必须仔细选择,不能仅凭想像,例如:
如果政府以姓名来标识每个纳税人,并且你碰巧是约翰史密斯,你可能花一生时间来核对到底是谁纳的税。
例子键选择
选择主关键字
替代键属性
关系表示实体间的连接(connection)、链接(link)或关联,他们是框图的“动词”,用来显示实体间的相互联系,这里是一些例子:
ATEAM<
manyPLAYERs.
APLANE-FLIGHT<
transports>
manyPASSENGERs.
ADOUBLES-TENNIS-MATCH<
requires>
exactly4PLAYERs.
AHOUSE<
isownedby>
oneormoreOWNERs.
ACOMPUTER<
isbuiltfrom>
manyDISK-DRIVEs.
ASALESPERSON<
sells>
manyPRODUCTs.
所有这些,都是1---对---多的关系,意思是第一个实体的一个实例与第二个实体的多个实例关联或连接,在“1-端”的实体叫父实体,在“多端”或圆点端的实体称为子实体。
多少是“多”?
关系的基本框图语法
如果选择正确的动词短语,就可以使用动词短语从父实体到子实体来读关系。
前一图表将被读作为:
manyPASSENGERs
下一个框图被读作:
ACUSTOMER<
manyMOVIE-RENTAL-RECORDs
Figure3.7.
AMOVIE<
isavailableas>
manyMOVIE-COPYs.
Figure3.8.
APERSON<
mayhave>
manyHOBBYs.
Figure3.9.
下一个例子包括关联的实体,他们更难于”读”,因此,在第5.2章(图5.14.)我们将回到这个例子。
mayuse>
manyADDRESS-USAGEs.
AnADDRESSis<
usedby>
Figure3.10.Associativeentityexample.
动词短语也可以从子实体读起,如”被动动词”短语表达,例如:
Figure3.7:
AMOVIE-RENTAL-AGREEMENT<
recordsborrowingby>
aCUSTOMER.
Figure3.8:
AMOVIE-COPY<
recordstheavailabilityof>
aMOVIE.
Figure3.9:
AHOBBY<
maybehadby>
aPERSON.
信息模型揭示了许多由模型描述的业务规则,动词短语提供了关系包含的业务规则的简要概述,虽然他们不能精确地描述规则,他们让看模型的人获得实体是如何被连接的初步了解。
保证读模型给出有效的语句是一个好的实践,把模型读回到业务,是验证所获取的业务规则正确性的主要方法之一。
泛化或继承层次也叫做子类,或子范畴层次,是实体集分组的一种方法,这些被分组的实体共享公共特性。
例如,在建模型工作中,我们也许发现,在一个银行中有几个不同类型的帐户ACCOUNTs存在,如:
支票、存款和贷款帐户ACCOUNT,叫做ACCOUNT的泛化实体(或类实体)被形成来表示这三类帐户的共用信息,如图3.11所示。
有不同的术语来表示泛化层次的实体,IDEF1X使用概念范畴category来引用”子类型”,其它人为这些子实体使用概念子范畴(subcategory)。
在本文中,我们按照IDEF1X来“分类”。
分类甄别器
3.2关系和外键属性
在前一章关系模型(2.2),关系模型、层次模型和网状模型的主要区别是关系的表示,层次和网状模型是在物理层上用指针型数据结构来表示关系;
相对地,相关模型在逻辑层上用共享键来获取关系。
ERwin使用的IDEF1X模型语言也用共享键表示关系,虽然IDEF1X确定地用于被存储在非关系型数据库管理系统的模型信息,但IDEF1X对键的处理是关系的。
无论何时,在ERwin框图中的实体通过关系来连接,关系贡献键给子实体,外键属性定义为父实体的主关键字属性,通过关系贡献给子实体,贡献的键称为父实体到子实体的迁移,在模型中外键属性通过属性名后的(FK)来表示,如图3.12所示。
标识和非标识关系
独立实体
依赖实体
角色名
在标识关系中,外键迁移到键区(线上)。
Figure3.12:
Identifyingrelationship.
关系被称为标识,是因为父实体的键成了子实体标识的一部分,即子实体的标识依赖于父实体。
标识关系用连接两个实体间的带点实线来表示,到目前为止,我们见到的所有关系都是标识关系。
Figure3.13:
在这个例子中,PLAYERs由”teamname”和”playername”两个来标识,这必须的,因为有时,同一个球员可以参加不同球队,并且有时,业务(比如说管理的棒球统计)需要区分球队成员。
标识关系运用其业务规则,即通过父实体的标识符来标识子实体。
在3.8中电影和电影-拷贝例子中,通过它拥有的唯一编号来标识拷贝,相反,我们决定用电影的标识符和增加第二部分(拷贝-编号)来区分每一个拷贝。
非标识关系(虚线)也连接父实体和子实体,由非标识关系迁移的非空外键子集被置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ERwin 内部 培训资料