关于PowerDesigner中的各种表间关系的区别_第1页
关于PowerDesigner中的各种表间关系的区别_第2页
关于PowerDesigner中的各种表间关系的区别_第3页
关于PowerDesigner中的各种表间关系的区别_第4页
关于PowerDesigner中的各种表间关系的区别_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于PowerDesigner中的各种表间关系的区别在PowerDesigner中,定义的表问关系的图标有三种,分别是:八ConceptualDiagramH同闸向.J|IlAssociation关联Inheritance承,Reflexive'最常见:Relationship联系除此之外,还有一种单个表之间的关系自反(Reflexive使用Relationship图标,实际上可以理解成:数据库表的关系,有4种为说明表问关系的所有情况,我创建了一个CDM文件,用于说明各种情况之间的区别班级属于哪个专业专业专业号<pi>Integer<M>专业名称Variable

2、characters(50)Identifier<pi>一Relationship,关系先说最常见的Relationship,关系。1 一对多一对多是最常见、使用得最多的情况。图中,专业和学生的关系,就是一对多的关系:一个学生必然属于一个班级;一个班级必然有很多学生先看属性页面:Entitv1EntitvE-Q学生二RelationshipProperties-学生曷于哪个班较(StudEntToCla同0|EGeneral|CardinalHicstunesRuIee|tach现金msyhavsonsormore学生.Edith学生mayhaveaitmostone魂版Csrcf

3、inaiiliesOne-cue。One-manyMany-cn&Many-man/DonHirrantrDle;川口田班级s学生Ralegm也一匕pmnf:n|MndakiryCrdinalir0r宇生匕胡蝶Rolenmo:-|DependentMsncatayCardinalt<0.1簸取漕应用U)|超曲Cardinalities页面,是设置Ralationship、Inheritance的共同页面。跟一对多相关的是:1.1 “一”端的Mandatory(强制)“一”端是没有Dependent依赖的。在一对多关系中“一”的这端,选中和不选中,在创建数据库的SQL语句中,没有任

4、何区别,但是,他表示的逻辑是不同的:1)选中Mandatory,表示“一”端的每一条记录(班级),都至少有一个“多”端的记录(学生)对应,即,一个班级至少要有一名学生;2)不选中Mandatory,表示,一个班级,可以是空班级,可以没有学生(比如招生前夕),也可以有多个学生1.2 “多”端的Mandatory(强制)Mandatory选项,对一对多关系中“多”的这端,选中和不选中的区别是:1)创建的SQL语句:选中了,表示“多”端的表中的外键不能为空;没选中,表示“多”端的表中的外键可以为空;2)举例:选中了,学生必须属于某个班级;没选中,表示学生可以暂时不属于任何一个班级(比如降级还没有分班

5、的学生)。1.3 “多”端的Dependent(依赖)Dependent(依赖)选项,对一对多关系中“多”的这端,选中和不选中,区别如下:1)SQL语句:选中,“多”端的外键跟自己的主键一起成为主键;否则,外键只是外键,生成的逻辑模型图是:学生不选中学生班级号numeric<pk,fk1>学号numeric<pk>姓名varchar(50)性另Ulongvarchar年龄numeric年级numeric班级char(256)学号numeric<pk>班级号numeric<fk1>姓名varchar(50)性另Ulongvarchar年龄numer

6、ic年级numeric班级char(256)选中2)举例:选中Dependent,表示:班级的ID传递给学生之后,既是学生表的外键,又跟学生表的学号一起构成学生表的主键;如果没有选中,那班级的ID传递给学生表,仅仅作为学生表的外键。2多对多多对多的Dependent和Mandatory的意思,跟一对多的意思是一样的。所不同的是,多对多的关系,会在生成物理模型的时候,自动生成一张表,原表和新表之间是两个一对多的关系。比如:学生和老师的关系,概念模型是:教师7师生关系学生工号<pi>Characters(256)<M>教蛉Number<M>级另UNumber&l

7、t;M>学号<pi>Number<M>年级Number班级Characters(256)Identifier1<pi>Identifier1<pi>生成物理模型之后,就是:教师工号char(256)<pk>班级号numeric<fk1>姓名varchar(50)性另Ulongvarchar年龄numeric教龄numeric级另Inumeric师生关系char(256)<pk,fk1>班级号numeric<pk>学号numeric<pk,fk2>学生班级号numeric<pk

8、,fk1>学号numeric<pk>姓名varchar(50)性另Ulongvarchar年龄numeric年级numeric班级char(256)3一对一一对一的表间关系,很容易跟继承、关联混淆。一对一的Relationship,最重要的选项是“Dominant(支配)”,A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;教师工号char(256)<pk>姓名varchar(50)性另Ulongvarchar年龄numeric教龄numeric级另Unumeric班级班级号numeric<pk>专业号integer<fk1>工

9、号char(256)<fk2>所属年级numeric如果不选择"Dominant",表示,A的主键要传递给B,并且,B的主键也要传递给Ao教师上号char(256)<pk>班级号numeric<fk1>姓名varchar(50)性别longvarchar年龄numeric教龄numeric级别numeric班级班级号numeric<pk>专业号integer<fk2>工号char(256)<fk1>所属年级numeric对于一对一中的Mandatory和Dependent,跟一对多的情况一样。二Inhe

10、ritance,继承所谓继承,看本文开头部分举的例子,教师和学生都有共同的字段一一姓名、性别、年龄一一教师和学生都是“人”,他们的属性是从“人”继承来的。Powerdesigner的继承关系,专门有一个图标,区,将两张表设计成“继承”关系,其连线是二跟Relationship不一样。在概念模型中,子表没有主表的字段,生成物理模型之后,主表的全部字段全部复制到子表中。三Association,关联Association关系,就是两个实体之间的多对多关系,一般这种情况下会增加一个中间实体,这就是前面“Relationship"中的“一对多”。止匕外,在PowerDesigner中,提供了

11、一个专门的符号来对应,叫做“Association”关联,需要注意的是,“Association"只是为了方便直观地表示这种类型的实体而设置的一个图标,他其实还是实体。使用一个普通的实体,定义多对多关系,和使用“Association”图标定义多对多关系,两者相比,使用“Association”更方便、直观,使模型更容易理解,并可以减少因不谨慎而可能导致的错误。Association需要足以的是,针对号级号名别龄级级班学姓性年年班下面的是概念模型:教师1/家访学生工号<pi>Characters(256)<M>教龄Number<M>级别Number

12、<M>学号<pi>Number<M>年级Number班级Characters(256)0,n日期Date原因Text/0,nIdentifier<pi>Identifier<pi>生成物理模型之后:学生numeric<pk,fk1>numeric<pk>varchar(50)longvarcharnumericnumericchar(256),PowerDesigner专门提供了一个图标用于设置这种关系:入ConceptualDiagram-1AssociationLink四Reflexive,自反如上图中的领

13、导。领导本身是老师,每个老师都有一个领导。这种关系就是自反关系。鼻导号/工-11.二料洗中ACharMtora2画Number川>NLimbe<vM>Idendief1<po这种关系下,Mandatory、Dependent的设置,跟一对多的Relationship关系是一样的。五总结一张表跟自己的关系,是Reflexive(自反);一张表的主键和字段全部传递给另一张表,是Inheritance(继承);一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationship可以是一对一、一对多、多对多;As

14、sociation只能是多对多;Mandatory(强制)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;Dependent(依赖)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;并且与它原来的主键,一起构成它的主键;Dominant(支配)选项,只针对一对一的情况,选择A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择"Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给Ao本文开始给出的概念模型,生成物理模型后,是下面的样子:假期工号char(256)<pk,fk>天数

15、numeric开始时间Undefined名别龄姓性年人varchar(50)longvarcharnumeric俱乐部俱乐部名称char(256)<pk>成立时间date音书长学号numeric教师学生学生-俱乐部俱乐部名称char(256)<pk,fk1>工号char(256)<pk,fk2>班级号numeric<pk,fk2>学号numeric<pk,fk2>师生关系工号char(256)<pk,fk1>学生_工号char(256)<pk,fk2>班级号numeric<pk,fk2>学号nume

16、ric<pk,fk2>工号教师工号名别龄龄别姓性年教级char(256)char(256)varchar(50)longvarcharnumericnumericnumeric<pk><fk2>工号char(256)<pk,fk1>学生工号char(256)<pk,fk2>班级号numeric<pk,fk2>学号numeric<pk,fk2>日期date原因longvarchar家访号号级号名别龄级级工班学姓性年年班char(256)numericnumericvarchar(50)longvarcharnumericnumericchar(256)&l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论