- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用實体关系图进行数据库建模
用实体关系图进行数据库建模
补充内容
用图管理数据模型
用图(Diagram)管理数据模型高效方便
对于RDBMS,描述数据模型的图通常称为实体关系图(Entity Relationship Diagram,ERD)。用ERD描述数据模型能够帮助你预先精确定义数据需求。
介绍ERD建模工具
PowerDesigner和Visio 2000 Professional
在不同的工具之间,图的符号有着重大的差别,但它们的基本概念一样。
转向数据建模工具的主要挑战
学习使用建模符号。
在不丢失任何关键信息的前提下,用数据建模工具描述现有数据模型。
寻找一个对你的数据库提供全面支持的工具,例如在生成SQL、从现有数据模式通过反向工程建立数据模型时。
一些入门级数据建模工具只有少量的高级特性,很容易学习使用,但当你积累了更多的经验时,它们可能不再满足你日益增长的需要。
升级工具或更换工具一般不存在大的问题,特别是当新的工具能够对现有数据模式进行精确、完整的反向工程时,升级或更换工具的过程尤其简单。
PowerDesigner的界面
Visio的界面
ERD建模符号
PowerDesigner使用Martin的Information Engineering符号。Oracle的Designer产品所使用的符号也和它很相似。
基本的ERD绘图规范很直观易懂。你可以定义实体(表),描述各个实体之间的关系。
在填写表和关系的细节信息时,每一种工具的做法都有所不同;基本概念在大多数软件包之间是相通的。
了解主要图形元素和设置方法。
表
所有构造合理的数据建模工具都允许为表指定丰富的关联信息。
这些信息包括(但不局限于):
表的描述、注解,以及实体(表)的标题。
列,列的类型、长度、默认值和强制条件。
主键,索引,唯一性约束。
PowerDesigner中表的属性窗口
Visio中表的属性窗口
表的实例
一旦输入了新表的属性信息,图将被更新,显示出你所提供的新的或更改后的表信息。
在实例图中,许多列被定义成了(m)andatory(强制的)、(p)rimary(主键)和(d)isplayed(被显示的)列。
非标准的数据类型(如PHONENUMBER和PK)
许多数据建模工具允许定义域或定制数据类型,它们可供一个以上的列使用。域不仅代表着数据类型,还包含检查约束、默认值、值列表等信息。
PowerDesigner
Visio
关系
对于给定的关系,必须收集的重要信息:
父表和子表。
两个表之间的强制关系。例如,父表可能有一个子表,但子表必须有一个父表。
关系基数(Cardinality)。即,一个父表可以有零个或者多个子表,但一个子表有且只能有一个父表。
关于关系的注释、意见和角色说明。
大多数建模工具通过在两个或者更多表之间画出连线的方式定义关系。
默认情况下,关系往往被定义成为一对多关系,而且它对于关系中的任何一方都是可选的。
PowerDesigner的关系属性设置界面
Visio的关系属性设置界面
PowerDesigner中两个表之间的关系
一个典型的父-子关联关系。
部门(Branch)和雇员(Emplyee)的关系是强制的。
一个部门必须至少有一个雇员(1-N强制关系);
一个雇员必须属于且只能属于一个部门(1-1强制关系)。
强制的关系由一条实心垂直线(而不是椭圆)表示。某些工具用虚线表示可选的关系。关系中属于“多”的这一边用一个类似鸟爪的图形表示,关系的基数在靠近它所描述的那一端显示。
Visio中两个表之间的关系
你可能已经注意到,Employee表没有定义外键列。这个图仍旧处于“概念设计”阶段——此后,从概念图到物理数据模型之间的转换是必不可少的。
大多数工具区分概念和物理数据模型——概念数据模型描述信息的需求,但不关注细节问题,例如索引和强制性的引用完整性。
定义自我引用的表
自我引用的表一般用来描述层次型关系, 大多数数据建模工具能够处理这类关系。
在此例中,雇员可以有零个或者一个上级——它使你能够处理一些特殊的情况,比如总统没有直接的上级。
图6b:Visio中自我引用的表
PowerDesigner
Visio
图的规划
一些工具提供自动布局能力,还没有一个完善的实现。
应遵从“孔雀东南飞”这一规则
“孔雀”是关系中代表“多”这一方的符号,它是连接到表的三条分叉线,象个鸟爪。
即子表应该位于父表的右方和下方。这种安排使得从逻辑上组织和理解数据模型更加方便。
最重要、最高级别的表应该出现在左上角,让级别较低的表出现在页面的右下角。
为了清楚起见,减少图中交叉线的数量也是很重要的。 “一个好的设计往往看起来很舒服”。
完整的ER图(PowerDesigner)
完整的ER图(Visio)
从图到数据库
依
原创力文档


文档评论(0)