posts - 11, comments - 158, trackbacks - 24, articles - 0

PowerDesigner教程系列(六)概念数据模型

Posted on 2007-04-12 16:03 KevinYin 阅读(14404) 评论(31)  编辑 收藏 所属分类: PowerDesigner
 
目标:本文主要介绍联系的定义及使用。

 一、 联系
联系(Relationship)是指实体集这间或实体集内部实例之间的连接。

 实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。联系和联系集在含义明确的情况之下均可称为联系。

 按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。

 二、 建立联系
在CDM工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。

 在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放Relationship工具。如下图所示


三、 四种基本的联系
即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。如图所示

四、 其他几类特殊联系

除了4种基本的联系之外,实体集与实体集之间还存在标定联系(Identify Relationship)、非标定联系(Non-Identify RelationShip)和递归联系(Recursive Relationship)。

标定联系:
每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。反之称为非标定联系,也叫非依赖联系。
 注意:
在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。而在标定联系中,一个实体集中的全部实例完全依赖于另个实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。


换句话来理解,在标定联系中,一个实体(选课)依赖 一个实体(学生),那么(学生)实体必须至少有一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。


 递归联系:
递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。同一实体类型中不同实体集之间的联系也称为递归联系。

例如:在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子实体集,这两个子实体集之间的联系就是一种递归联系。创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可。如图


五、 定义联系的特性

在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。


 六、 定义联系的角色名
在联系的两个方向上各自包含有一个分组框,其中的参数只对这个方向起作用,Role Name为角色名,描述该方向联系的作用,一般用一个动词或动宾组表。
如:“学生 to 课目 ” 组框中应该填写“拥有”,而在“课目To 学生”组框中填写“属于”。(在此只是举例说明,可能有些用词不太合理)。

七、 定义联系的强制性
Mandatory 表洋这个方向联系的强制关系。选中这个复选框,则在联系线上产生一个联系线垂直的竖线。不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。

八、 有关联系的基数
联系具有方向性,每个方向上都有一个基数。

举例,
“系”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联系。而且一个学生必须属于一个系,并且只能属于一个系,不能属于零个系,所以从“学生”实体至“系”实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所以该方向联系的基数就为“0,n”,如图所示

待续。

Feedback

#1楼 [楼主]   回复  引用  查看    

2007-04-12 16:08 by KevinYin      
不好意思,有张图里的标识错了,应该是“一对一关联”,写成“一对于关联”。

#2楼    回复  引用  查看    

2007-04-12 16:56 by 心悦      
希望文章可以写长一点,写深一点。。

#3楼    回复  引用  查看    

2007-04-13 01:01 by lexus      
哈哈,真成你的fans了,fighting!

#4楼    回复  引用    

2007-04-13 10:30 by guojiang [未注册用户]
关注

#5楼    回复  引用    

2007-05-15 17:13 by tanba [未注册用户]
请版主 您公司对数据建表 有没有具体规范 能否贴出来给小弟参考一下

#6楼    回复  引用    

2007-05-24 16:14 by Bao [未注册用户]
让我基本了解了
谢谢

#7楼    回复  引用    

2007-05-25 15:56 by ЁЖ [未注册用户]
下一篇出了没有,关注......

#8楼    回复  引用    

2007-05-26 12:34 by 期待 [未注册用户]
没有七了吗?

#9楼    回复  引用    

2007-06-11 11:38 by 不错 [未注册用户]
还有7没有?感谢!

#10楼    回复  引用    

2007-06-11 16:45 by 杨永国 [未注册用户]
兄弟,期待下篇

#11楼    回复  引用    

2007-07-18 14:30 by 地地道道 [未注册用户]
期待下篇

#12楼    回复  引用    

2007-07-19 11:17 by 沙漠风暴 [未注册用户]
写的教清晰 容易理解 希望能 看到笔者的下文 谢谢 期待~~~·

#13楼    回复  引用    

2007-07-27 10:01 by VerRan [未注册用户]
好教程。。。继续关注。

#14楼    回复  引用  查看    

2007-08-02 19:42 by EagleFish      
楼主的文章很不错,感觉网上这方面的资料确实不多。
我也写了点关于CDM和PDM的东西,供大家参考:

http://www.cnblogs.com/xingyukun/archive/2007/08/02/840293.html

#15楼    回复  引用    

2007-09-17 17:41 by 1111 [未注册用户]
什么时候出七啊?很期待啊

#16楼    回复  引用    

2007-10-16 19:25 by zt_zhoushanhui [未注册用户]
真的很感谢楼主.能出这样的好文章

#17楼    回复  引用    

2007-10-25 20:39 by starxqx [未注册用户]
楼主写的非常好,很详细。对于需要这些资料,而又没时间,没心思静下心来看帮助文档那么详细资料的人,真是太合适了。支持楼主,尽快更新!

#18楼    回复  引用    

2007-10-30 15:19 by wujiu [未注册用户]
耐心期待中...

#19楼    回复  引用    

2007-10-31 10:46 by cnscn [未注册用户]
很好的文章,太棒了 转载下http://www.cnscn.org

#20楼    回复  引用    

2007-11-12 11:20 by lbyyy [未注册用户]
万分感谢!!
佩服之情
犹如滔滔江水
此处省略
for(i=0;i<10000;i++){...}

#21楼    回复  引用    

2007-12-20 00:06 by asdf12345 [未注册用户]
大哥我就支持你了,爱乍乍地

#22楼    回复  引用    

2008-02-01 15:06 by qyy [未注册用户]
写的教清晰 容易理解 希望能 看到笔者的下文 谢谢 期待~~~·

#23楼    回复  引用  查看    

2008-03-06 10:52 by 阿瑞--16hi      
期待中,最好也出OOM的!!!呵呵 :)

#24楼    回复  引用    

2008-03-12 14:25 by huner [未注册用户]
太监了?

#25楼    回复  引用    

2008-04-07 17:22 by 123213去玩儿 [未注册用户]
宣布Over了??

#26楼    回复  引用    

2008-06-04 12:26 by 服务费 [未注册用户]
24楼是个2逼!!给你发这个就错了

#27楼    回复  引用    

2008-06-10 17:44 by 农夫 [未注册用户]
非常感谢,如果要生成数据为,但最后要怎么生成啊?还有没有相关教程,能否发一份到我邮箱里,谢谢~!!!

#28楼    回复  引用    

2008-06-20 11:48 by 小新哈 [未注册用户]
貌似太监了。。。

#29楼    回复  引用    

2008-07-11 09:29 by lilop [未注册用户]
请问楼主 short cut 这中表的快捷方式 怎么创建啊,
qq:286137510
lilop@126.com

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-12 16:07 编辑过


相关链接: