点击菜单“File”---->“New Model”

点击【OK】按钮后,将进入如下的画面

系统将出现一个工具栏如下,用于在设计面板中设计模型

单击Entity图标,然后在主面板中单击一次便可添加一个实体

切换回一般鼠标模式,双击已经添加的实体,弹出设置属性的对话框

在General选项卡中可以设置实体的Name和Code等属性,如下图所示:Code是实体在数据库中的实际名称,一般用英文,Name是显示的名称,一般用中文,方便理解

切换到Attributes选项卡可以添加实体的属性

设置完成之后如下图所示

关系

  关系用于表示一个实体与另一个实体之间的对应关系,分为“一对一(1:1),一对多(1:n),多对一(n:1),多对多(m:n)”4种对应关系,一对多和多对一其实就是方向相反,所以实际上就是一对一,一对多,多对多。最常用的就是“一对多(1:n)”,比如公司实体和员工实体就是一对多关系,一个公司有多名员工,而一名员工只会属于一个公司,再比如班级实体和学生实体就是一对多关系,一个班级有多个学生,一个学生只会属于一个班级。

  在设计面板中添加一个班级(Class)实体,然后建立班级实体和学生实体的“一对多”关联关系,如下图所示:

系统默认会给该关系命名为Relationship_1,切换到鼠标指针模式,双击Relationship_1,即可打开关系的属性窗口,如下图所示:

切换到Cardinalities选项卡,如下图所示:

  这里可以修改是一对多还是多对多之类的关系,Role name是设置在模型中显示的文字,没有多大的意义,多的一方有0,n和1,n两种,也就是说,一个班级可以对应多个学生,那么一个班级中最少是没有学生还是要至少存在一个学生,同意的一的一方有0,1和1,1两种,就是说一个学生可以不属于任何班级呢还是必须属于某一个存在的班级,而现实生活中比较符合常理的应该是“一个班级中至少存在一个学生,学生必须属于某一个存在的班级”,所以这里都选至少是1,所以最终的设置界面如图:

最终生成的E-R图如下:

继承

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

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

  在概念模型中创建具有继承关系的E-R图之前,首先要开启工具栏上被禁用掉的三个图标,如下图所示:

关于如何开启工具栏上被禁用掉的三个图标,参考"开启PowerDesigner15工具栏上的被禁用掉的图标"

在概念模型中创建具有继承关系的E-R图

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

关联(Association)

  Association也是一种实体间的连接,在Merise模型方法学理论中,Association是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过“事件(Event)”连接来表示。也就是说,实体和实体之间存在着关系(多对多),但是这种关系还存在其他的属性,这些属性如果作为一个明确的实体来表示又不合适,所以就使用了Association来表达,这种关系之间一般是一个“事件”虚实体,也就是说是一个动词对应的实体。

  以实际的例子来说明:现在有了学生实体,有课程实体,一个学生可以选择多门课程,一门课程也可以被多个学生选择来学习,所以学生和课程之间就存在一个“选课”的Association,Association记录了学生选课的时间,选课的状态;一个学生会对应多个选课结果选择多门课程,,一门课程对应多个选课学生选课,所以“学生实体”和“课程实体”与“选课”的关系都是“一对多”,添加关联连接,一门课程可能太枯燥了,没有学生来选,所以“课程”对应“选课”可能是0,n的关系,一个学生可能学分够了这学期一门课都不选,所以“学生”对应“选课”也可能是0,n的关系,所以最终形成的概念模型如下图所示:

在Powerdesigner中创建概念数据模型的更多相关文章

  1. 在powerdesigner中创建物理数据模型

    物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...

  2. PowerDesigner中创建Oracle表全过程记录

    本文记录如何在PowerDesigner中创建一个Oracle结构的表. 在进行本文阅读之前,需要在PowerDesigner进行 DBMS修改,DataBase创建,用户创建,表空间创建.   1. ...

  3. PowerDesigner使用教程 —— 概念数据模型 (转)

    一.概念数据模型概述    概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充.它从用户的观点出发对信息进行建模,主要用于 ...

  4. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)

    概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...

  5. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)

    概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...

  6. PowerDesigner概念数据模型 CDM

    目标:本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2 ...

  7. PowerDesigner 概念数据模型(CDM) 说明

        ref: https://blog.csdn.net/tianlesoftware/article/details/6871179 关于PowerDesigner的说明参考: PowerDes ...

  8. PowerDesigner教程系列(二)概念数据模型

    目标:本文主要介绍PowerDesigner概念数据模型以及实体.属性创建.一.新建概念数据模型1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型. 2) ...

  9. PowerDesigner 概念数据模型

    (转自:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html) 目标:本文主要介绍PowerDesigner中概念数据模型 CD ...

随机推荐

  1. MySQL学习笔记:时间差

    1.MySQL计算同一张表中同一列的时间差,同一个id,有多个时间,求出每个id最早时间和最晚时间之间的差值. 原始表如下: 查询语句: SELECT id, MAX(TIME), MIN(TIME) ...

  2. java正则表达式(转)

    1.验证email public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoftlab.ne ...

  3. Struts DispatchAction Example

    The DispatchAction class (org.apache.struts.actions.DispatchAction) provides a way to group all rela ...

  4. 一步一步学习IdentityServer4 (7) IdentityServer4成功配置全部配置

    auth.liyouming.com 全部配 public class Startup { public Startup(IConfiguration configuration) { Configu ...

  5. JavaScript中的数据结构及实战系列

    本系列主要是讲解JavaScript中的数据结构及在实际项目中遇到的地方 JavaScript中的数据结构及实战系列(1):队列 JavaScript中的数据结构及实战系列(2):栈

  6. ava包(package)的命名规范,java中package命名规则

    Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...

  7. mysql 删除重复项

    DELETE FROM j_rank_rise_record WHERE id NOT IN ( SELECT id FROM ( SELECT * FROM j_rank_rise_record g ...

  8. logstash部署及基本语法(二)

    一.logstash介绍 Logstash是一个开源的数据收集引擎,可以水平伸缩,而且logstash是整个ELK当中拥有最多插件的一个组件,其可以接收来自不同源的数据并统一输入到指定的且可以是不同目 ...

  9. 005 Ajax中使用jquery实现三种格式的信息

    1.jquery中的ajax 二:load 2.load方法 3.load测试程序大纲 4.load测试程序 <!DOCTYPE html> <html> <head&g ...

  10. 装饰模式和Java IO

    装饰模式 修饰模式(装饰模式),是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式.就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能. 装饰模式的UM ...