在PowerDesigner中设计概念模型

原创 2012年03月31日 10:43:50

在概念模型中主要有以下几个操作和设置的对象:实体(Entity)、实体属性(Attribute)、实体标识(Identifiers)、关系(Relationship)、继承(Inheritance)、关联(Association)、关联连接(Association Link)。

实体

实体就是我们抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。实体属性就是一个实体中所包含的简单属性,比如学生实体,具有学号、姓名、生日、性别等属性。另外实体还有个标识用于唯一的标识出每个实体实例,比如学生实体中就可用将学生的学号作为该实体的标识。标识可用是一个实体属性也可以是多个属性的结合。在PD中新建一个新的概念模型,系统将出现一个工具栏如下,用于在设计面板中设计模型。

image

单击Entity图标,然后在设计主面板中单击一次便可添加一个实体。再单击鼠标图标,即可切换回一般鼠标的模式。双击已经添加的实体,弹出实体属性设置对话框,在General中可以设置实体的Name和Code等属性,如图所示:

image

切换到Attributes选项卡可以设置实体的属性Name、Code、DataType等,右边还有3个复选框,M表示不能为空,P表示是标识属性,D表示在模型图中是否显示,如果在设置属性时直接选中StudentID的P复选框,系统将会自动生成该Student实体的一个Identifier。

image

如果不希望系统自动生成而是手动设置的话,那么切换到Identifiers选项卡,添加一行Identifier,然后单击左上角的“属性”按钮,然后弹出的标识属性设置对话框中单击“添加行”按钮,选择该标识中使用的属性。例如将学号设置为学生实体的标识,具体操作如图所示:

image

整个设置好的实体如图所示:

image

关系

关系用于表示一个实体与另外一个实体之间的对应关系,分为一对一(1:1),一对多(1:n),多对一(n:1),多对多(m:n)4种对应关系,一对多和多对一其实就是方向相反,所以实际上就是一对一、一对多和多对多。

 

 

 

 

 

最最常用的就是一对多,比如班级实体和学生实体就是一对多关系,一个班级有多个学生,一个学生只会属于一个班级。在设计面板中添加一个Class实体,然后单击工具栏的Relationship按钮,然后在Class实体上单击一下,再到Student上单击一下,就可以在Class和Student之间建立一对多关系,如图:

image

系统默认会给该关系一个命名Relationship_1,切换到鼠标指针模式,双击Relationship_1,即可打开关系的属性窗口,可以在General选项卡中修改该关系的Name、Code等,如图:

image

切换到Cardinalities选项卡,上面可以修改是一对多还是多对多之类的关系,下面的Role name没有多大的意义,就是在模型中显示文字,多的一方有0,n和1,n两种,也就是说一个班级可以对应多个学生,那么一个班级中最少是没有学生还是要至少存在一个学生,同样的一的一方有0,1和1,1两种,就是说一个学生是可以不属于任何班级呢还是必须属于某一个存在的班级,这里我们都选至少是1,所以最终的设置界面如图:

image

继承

在概念模型中的继承与在OO模型中的继承是一回事,就是要抽象出一个实体,其他实体继承该实体后就拥有该实体的属性。

同样以选课系统为例,现在有学生实体,有教师实体,其他他们都是人,具有人的属性,所以我们可以抽象出一个人的实体,人具有性别、生日、名字等属性,教师具有职称、工号等属性这是学生没有的,所以不能放在人实体中,学生具有学号属性是教师没有的。

 

 

image

这里只是概念模型,在DBMS中是没有继承这种说法的,所以在接下来的逻辑模型和物理模型中,系统就会将继承转换为实际的实体和表。这里只是概念模型,所以才有继承的说法。

关联(Association)我也不知道这个翻译成中文用哪个词比较好,就暂且用“关联”吧。

Association也是一种实体间的连接,在Merise模型方法学理论中,Association是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过“事件(Event)”连接来表示。

也就是说,实体和实体之间存在着关系(多对多),但是这种关系还存在其他的属性,这些属性如果如果作为一个明确的实体的实体来表示又不是很合适,所以就使用了Association来表达,这种关系之间一般是一个“事件”虚实体,也就是说是一个动词对应的实体。

前面说的可能还是太抽象,以实际的例子来说明:现在有了学生实体,有课程实体,一个学生可以选择多门课程,一门课程有多个学生来上课,所以之间就存在一个“选课”的Association,其中记录了学生选课的时间、选课的状态:

image

一个学生会对应多个选课结果选择多门课程,一个课程对应多个选课学生选课,所以学生实体和课程实体与选课的关系都是一对多,添加关联连接,一门课程可能太枯燥了,没有学生来选,所以课程对应选课可能是0,n,一个学生可能学分够了这学期一门课都不选,所以学生对应选课也可能是0,n的关系,所以我们最终形成的概念模型如图所示:

image

这就是一个完整的概念模型。接下来就是要根据概念模型生成逻辑模型或者物理模型。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PowerDesigner设计概念模型

在概念模型中主要有以下几个操作和设置的对象:实体(Entity)、实体属性(Attribute)、实体标识(Identifiers)、关系(Relationship)、继承(Inheritance)、...

Powerdesigner对于数据库的设计 一 概念模型E-R设计

最近着手开始做毕业设计,为了更好的进行项目开发和毕业论文的编写,所以决定使用 Powerdesigner来进行数据的的概念模型和逻辑模型的设计。 在这里使用的的Powerdesigner 16 版本 ...

关系数据库数据模型设计及设计工具PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)

声明:本博文即使自己学习知识的一种简单记录,方便自己使用,也是把自己在遇到问题,找到解决办法拿来与大家分享,方便大家学习中也会遇到同样的问题不知怎样解决提供一种方案,其中内容都出自笔者手稿,并经过亲身...

PowerDesigner概念模型的Notation设置

在进行数据库设计模型时,分为概念模型设计和物理模型设计两种,概念模型主要是反映真是世界中的业务关系,也就是我们常用的实体关系图。物理模型是在概念模型设计好后通过概念模型直接转换生成的,然后再对系统生成...
  • cqkxzyi
  • cqkxzyi
  • 2012年03月31日 10:40
  • 697

PowerDesigner之PDM(物理概念模型)

PowerDesigner之PDM(物理概念模型)一、PDM概述  PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库。  PDM中涉及到的基本概念包...

PowerDesigner概念模型详解

PowerDesigner概念模型详解  转自:http://lavasoft.blog.51cto.com/62575/187158/ 环境 PowerDesigner 12.5 ...

PowerDesigner之PDM(物理概念模型)

PDM

powerdesigner 概念模型(conceptualDataModel)创建详解

一、概念数据模型概述数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(En...

PowerDesigner之PDM(物理概念模型)

一、PDM概述   PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库。   PDM中涉及到的基本概念包括: 表;列;视图;主键;候...
  • mitesi
  • mitesi
  • 2015年11月17日 09:04
  • 767

PowerDesigner概念模型实体关系(one-one,one-many,many-one,many-many,Dependent,Mandatory,Dominant role)说明

在PowerDesigner的概念模型中,实体之间的关系是非常重要的,也决定了从概念模型转化到物理模型时的表现形式,所以有必须深究其中的相关设置。做数据库重要的就是表与表之间的关系,而这个关系是连接所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在PowerDesigner中设计概念模型
举报原因:
原因补充:

(最多只允许输入30个字)