关于PowerDesigner中的各种表间关系的区别
更新时间:2023-12-20 09:52:01 阅读量: 教育文库 文档下载
关于PowerDesigner中的各种表间关系的区别
在PowerDesigner中,定义的表间关系的图标有三种,分别是:
除此之外,还有一种单个表之间的关系——自反(Reflexive),Reflexive使用Relationship图标,实际上可以理解成:数据库表的关系,有4种。
为说明表间关系的所有情况,我创建了一个CDM文件,用于说明各种情况之间的区别。
假期天数Number开始时间
先说最常见的Relationship,关系。
1 一对多
一对多是最常见、使用得最多的情况。图中,专业和学生的关系,就是一对
多的关系:
一个学生必然属于一个班级;一个班级必然有很多学生。 先看属性页面:
Cardinalities页面,是设置Ralationship、Inheritance的共同页面。跟一对多相关的是:
1.1 “一”端的Mandatory(强制)
“一”端是没有Dependent依赖的。
在一对多关系中“一”的这端,选中和不选中,在创建数据库的SQL语句中,没有任何区别,但是,他表示的逻辑是不同的:
1) 选中Mandatory,表示“一”端的每一条记录(班级),都至少有一个
“多”端的记录(学生)对应,即,一个班级至少要有一名学生; 2) 不选中Mandatory,表示,一个班级,可以是空班级,可以没有学生(比
如招生前夕),也可以有多个学生。
1.2 “多”端的Mandatory(强制)
Mandatory选项,对一对多关系中“多”的这端,选中和不选中的区别是: 1) 创建的SQL语句:选中了,表示“多”端的表中的外键不能为空;没
选中,表示“多”端的表中的外键可以为空;
2) 举例:选中了,学生必须属于某个班级;没选中,表示学生可以暂时不
属于任何一个班级(比如降级还没有分班的学生)。
1.3 “多”端的Dependent(依赖)
Dependent(依赖)选项,对一对多关系中“多”的这端,选中和不选中,区别如下:
1) SQL语句:选中,“多”端的外键跟自己的主键一起成为主键;否则,
外键只是外键,生成的逻辑模型图是:
学生班级号numeric学号numeric
表的外键,又跟学生表的学号一起构成学生表的主键;如果没有选中,那班级的ID传递给学生表,仅仅作为学生表的外键。
2 多对多
多对多的Dependent和Mandatory的意思,跟一对多的意思是一样的。所不同的是,多对多的关系,会在生成物理模型的时候,自动生成一张表,原表和新表之间是两个一对多的关系。
比如:学生和老师的关系,概念模型是:
教师工号
教师工号char(256)班级号numeric
一对一的表间关系,很容易跟继承、关联混淆。
一对一的Relationship,最重要的选项是“Dominant(支配)”,A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;
教师工号char(256)
教师工号char(256)班级号numeric
二 Inheritance,继承
所谓继承,看本文开头部分举的例子,教师和学生都有共同的字段——姓名、性别、年龄——教师和学生都是“人”,他们的属性是从“人”继承来的。
Powerdesigner的继承关系,专门有一个图标,承”关系,其连线是
,将两张表设计成“继
,跟Relationship不一样。
在概念模型中,子表没有主表的字段,生成物理模型之后,主表的全部字段全部复制到子表中。
三 Association,关联
Association关系,就是两个实体之间的多对多关系,一般这种情况下会增加一个中间实体,这就是前面“Relationship”中的“一对多”。
此外,在Power Designer中,提供了一个专门的符号来对应,叫做“Association”关联,需要注意的是,“Association”只是为了方便直观地表示这种类型的实体而设置的一个图标,他其实还是实体。
使用一个普通的实体,定义多对多关系,和使用“Association”图标定义多对多关系,两者相比,使用“Association”更方便、直观,使模型更容易理解,并可以减少因不谨慎而可能导致的错误。
下面的是概念模型:
教师工号
教师工号char(256)班级号numeric
四 Reflexive,自反
如上图中的领导。领导本身是老师,每个老师都有一个领导。这种关系就是自反关系。
这种关系下,Mandatory、Dependent的设置,跟一对多的Relationship关系是一样的。
五 总结
一张表跟自己的关系,是Reflexive(自反);
一张表的主键和字段全部传递给另一张表,是Inheritance(继承); 一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationship可以是一对一、一对多、多对多;Association只能是多对多;
Mandatory(强制)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;
Dependent(依赖)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;并且与它原来的主键,一起构成它的主键;
Dominant(支配)选项,只针对一对一的情况,选择A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。
本文开始给出的概念模型,生成物理模型后,是下面的样子:
假期工号char(256)
这种关系下,Mandatory、Dependent的设置,跟一对多的Relationship关系是一样的。
五 总结
一张表跟自己的关系,是Reflexive(自反);
一张表的主键和字段全部传递给另一张表,是Inheritance(继承); 一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationship可以是一对一、一对多、多对多;Association只能是多对多;
Mandatory(强制)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;
Dependent(依赖)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空;并且与它原来的主键,一起构成它的主键;
Dominant(支配)选项,只针对一对一的情况,选择A“支配”B,表示:A的主键传递给B,但是B的主键不传递给A;如果不选择“Dominant”,表示,A的主键要传递给B,并且,B的主键也要传递给A。
本文开始给出的概念模型,生成物理模型后,是下面的样子:
假期工号char(256)
正在阅读:
关于PowerDesigner中的各种表间关系的区别12-20
各种高程的换算关系06-23
小学生二年级快乐的一天作文06-13
1年级看图作文:和爸爸一起钓鱼06-14
车辆动态监控管理制度10-19
cisco防火墙试题05-01
指南在一日生活中的合理运用 - 贺冬梅12-01
结构计算题(2)09-23
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- PowerDesigner
- 区别
- 各种
- 关系
- 关于