关于PowerDesigner中的各种表间关系的区别.docx

关于PowerDesigner中的各种表间关系的区别.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于PowerDesigner中的各种表间关系的区别

关于PowerDesigner中的各种表间关系的区别在PowerDesigner中,定义的表间关系的图标有三种,分别是:除此之外,还有一种单个表之间的关系——自反(Reflexive),Reflexive使用Relationship图标,实际上可以理解成:数据库表的关系,有4种。为说明表间关系的所有情况,我创建了一个CDM文件,用于说明各种情况之间的区别。Relationship,关系先说最常见的Relationship,关系。一对多一对多是最常见、使用得最多的情况。图中,专业和学生的关系,就是一对多的关系:一个学生必然属于一个班级;一个班级必然有很多学生。先看属性页面:Cardinalities页面,是设置Ralationship、Inheritance的共同页面。跟一对多相关的是:“一”端的Mandatory(强制)“一”端是没有Dependent依赖的。在一对多关系中“一”的这端,选中和不选中,在创建数据库的SQL语句中,没有任何区别,但是,他表示的逻辑是不同的:选中Mandatory,表示“一”端的每一条记录(班级),都至少有一个“多”端的记录(学生)对应,即,一个班级至少要有一名学生;不选中Mandatory,表示,一个班级,可以是空班级,可以没有学生(比如招生前夕),也可以有多个学生。“多”端的Mandatory(强制)Mandatory选项,对一对多关系中“多”的这端,选中和不选中的区别是:创建的SQL语句:选中了,表示“多”端的表中的外键不能为空;没选中,表示“多”端的表中的外键可以为空;举例:选中了,学生必须属于某个班级;没选中,表示学生可以暂时不属于任何一个班级(比如降级还没有分班的学生)。“多”端的Dependent(依赖)Dependent(依赖)选项,对一对多关系中“多”的这端,选中和不选中,区别如下:SQL语句:选中,“多”端的外键跟自己的主键一起成为主键;否则,外键只是外键,生成的逻辑模型图是:选中 不选中 举例:选中Dependent,表示:班级的ID传递给学生之后,既是学生表的外键,又跟学生表的学号一起构成学生表的主键;如果没有选中,那班级的ID传递给学生表,仅仅作为学生表的外键。多对多多对多的Dependent和Mandatory的意思,跟一对多的意思是一样的。所不同的是,多对多的关系,会在生成物理模型的时候,自动生成一张表,原表和新表之间是两个一对多的关系。比如:学生和老师的关系,概念模型是:生成物理模型之后,就是:一对一一对一的表间关系,很容易跟继承、关联混淆。一对一的Relationship,最重要的选项是“Dominant(支配)”,A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。对于一对一中的Mandatory和Dependent,跟一对多的情况一样。Inheritance,继承所谓继承,看本文开头部分举的例子,教师和学生都有共同的字段——姓名、性别、年龄——教师和学生都是“人”,他们的属性是从“人”继承来的。Powerdesigner的继承关系,专门有一个图标,,将两张表设计成“继承”关系,其连线是,跟Relationship不一样。在概念模型中,子表没有主表的字段,生成物理模型之后,主表的全部字段全部复制到子表中。Association,关联Association关系,就是两个实体之间的多对多关系,一般这种情况下会增加一个中间实体,这就是前面“Relationship”中的“一对多”。此外,在Power Designer中,提供了一个专门的符号来对应,叫做“Association”关联,需要注意的是,“Association”只是为了方便直观地表示这种类型的实体而设置的一个图标,他其实还是实体。使用一个普通的实体,定义多对多关系,和使用“Association”图标定义多对多关系,两者相比,使用 “Association”更方便、直观,使模型更容易理解,并可以减少因不谨慎而可能导致的错误。下面的是概念模型:生成物理模型之后:需要足以的是,针对Association,PowerDesigner专门提供了一个图标用于设置这种关系:Reflexive,自反如上图中的领导。领导本身是老师,每个老师都有一个领导。这种关系就是自反关系。这种关系下,Mandatory、Dependent的设置,跟一对多的Relationship关系是一样的。总结一张表跟自己的关系,是Reflexive(自反);一张表的主键和字段全部传递给另一张表,是Inheritance(继承);一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationsh

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档