在Powerdesigner中创建概念数据模型
点击菜单“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中创建概念数据模型的更多相关文章
- 在powerdesigner中创建物理数据模型
物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...
- PowerDesigner中创建Oracle表全过程记录
本文记录如何在PowerDesigner中创建一个Oracle结构的表. 在进行本文阅读之前,需要在PowerDesigner进行 DBMS修改,DataBase创建,用户创建,表空间创建. 1. ...
- PowerDesigner使用教程 —— 概念数据模型 (转)
一.概念数据模型概述 概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充.它从用户的观点出发对信息进行建模,主要用于 ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
- PowerDesigner概念数据模型 CDM
目标:本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2 ...
- PowerDesigner 概念数据模型(CDM) 说明
ref: https://blog.csdn.net/tianlesoftware/article/details/6871179 关于PowerDesigner的说明参考: PowerDes ...
- PowerDesigner教程系列(二)概念数据模型
目标:本文主要介绍PowerDesigner概念数据模型以及实体.属性创建.一.新建概念数据模型1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型. 2) ...
- PowerDesigner 概念数据模型
(转自:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html) 目标:本文主要介绍PowerDesigner中概念数据模型 CD ...
随机推荐
- mysql数据库主从同步复制原理
MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能.更高可靠性要求的场合.与之对应的是另一个同步技术是MySQ ...
- java 多线程总结篇4——锁机制
在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制.Java提供了多种多线程锁机制的实现方式,常见的有synchronized.ReentrantLock.Semaphore. ...
- LeetCode517. Super Washing Machines
You have n super washing machines on a line. Initially, each washing machine has some dresses or is ...
- 【BZOJ】1566: [NOI2009]管道取珠
题解 假如我们非常熟练的看出来,平方和转有序对统计的套路的话,应该就不难了 我们只需要统计(wayA,wayB)生成的序列一样的有序对个数就行 可以用一个\(n^3\)的dp解决 \(dp[i][j] ...
- 虚拟机之openVZ简单基础
OpenVZ的是免费的开源软件,基于GNU GPL协议. OpenVZ的是基于Linux的容器虚拟化. OpenVZ在一台服务器上能够创建创建多个安全隔离的Linux容器(也称为虚拟环境或的VPS), ...
- ref:下一个项目为什么要用 SLF4J
ref:http://blog.mayongfa.cn/267.html 阿里巴巴 Java 开发手册 前几天阿里巴巴在云栖社区首次公开阿里官方Java代码规范标准,就是一个PDF手册,有命名规范,让 ...
- MVP模型
MVP模型一般要创建三个文件夹:View.Interactor(Model).Presenter 每个部分都有其接口和实现类,就是为了方便回调 这里做一个登陆界面为例子: 接口: Interactor ...
- Laravel框架初学一路由(路由参数)
必要参数 有时需要在路由中捕获到URI的一些参数.比如,需要捕获URI中的用户id,可以这样来定义路由 Route::get("user/{id}", function ($id) ...
- Spring Security权限控制
Spring Security官网 : https://projects.spring.io/spring-security/ Spring Security简介: Spring Security是一 ...
- Docker应用系列(六)| 如何去掉sudo及避免权限问题
一.如何在使用docker时去掉sudo 1.添加账户 $ sudo groupadd docker 2.授权给docker账户 sudo gpasswd -a yourname docker 3.重 ...