05.概念数据模型CDM

CDM概念

CDM表达的是数据库的整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员、应用程序设计人员、维护人员和用户之间相互理解的共同语言,并不针对具体的数据库平台(如Oracle或SQLServer)和工具(PowerBuilder)

实体(entity)

实体是现实世界中可区别于其他对象的“物体”,它可能是有形或无形的,具体或抽象的,有生命或无生命的。
每个实体有一组特征,称为实体的属性,用来描述实体的状态和特征(实际上就是Data Items)。

域(domain)

域(Domain)是某个或某丝属性的取值范围,定义域后可以被多个实体的属性共享使用域的定义在模型设计中具有重要意义,使得不同实体中的属性标准化更加容易。通俗的比喻,域就是数据类型的抽象。域在很多模型中都有出现。

联系(relationship)

实体可以通过联系(Relationship)相互关联。
按照实体之间的数量对应关系,通常可将联系分为:一对一联系(One to One)、一对多联系(One to Many)、多对多联系(Many to Many)等。
例如:
在这里插入图片描述
注意Mandatory选项:
在这里插入图片描述

一对一双向关联模型

几个模型是可以相互转化的,这里看下CDM转LDM的效果
在这里插入图片描述

在这里插入图片描述
对比一下两个模型
CDM
在这里插入图片描述

LDM
在这里插入图片描述
可以看到用户表和护照表分别都出现了对方的主键,也就意味着将来生成数据表后,可以通过护照查询用户,也可以通过用户查询护照。这个查询是双向的,下面看单向的咋整。

一对一单向关联模型

这个是一对一关系才有的设置,对于一对多模型,主表已经定好了,都是从表保存主表的主键。具体设置看下面:
在这里插入图片描述
这里的设置表示用户才是主表。
在这里插入图片描述
可以看到用户表一侧有一个大写的字母D表示主表(Dominant role),如果是直接用的双向管理中的实体,会有问题,原来的实体已经有关系,因此需要将实体进行拷贝,实体下面的数据项可以不用重命名可共用:
在这里插入图片描述
对象浏览器中是这样:
在这里插入图片描述
最后生成LDM的结果如下:
在这里插入图片描述

一对多关系

一般是从主表画向从表,当然从从表画到主表也可以,但是需要在关系属性页面修改cardinalities(最后得到是多对一关系)。例如下面的部门与员工实体:
在这里插入图片描述
如果实在搞不明白可以看最上面的描述:
Each部门must have one or more员工
Each员工must have one and only one部门
生成LDM:
在这里插入图片描述

多对多

多对多关系是先创建一对多关系,然后在关系属性页面修改cardinalities,例如下面的学生与课程的关系:
在这里插入图片描述
生成LDM的结果如下:
在这里插入图片描述
可以看到这里生成了一个中间表,中间表的字段分别是学生表和课程表的pi项。
中间表的主键是由两个字段组成的联合主键。
这里我们不需要在中间表存放额外的信息,因此可以直接设计多对多关系,如果我们需要存放额外信息就要将多对多关系拆分设计为两个一对多关系,例如:我们需要保存学生每门课程考试的分数,此时需要手动添加课程考核实体。
在这里插入图片描述
生成LDM:
在这里插入图片描述
发现在生成的LDM中,考核信息中间表中没有主键,这里有两种解决方案:
第一种是在考核信息中间表设置自己的主键,学号和课程编号做外键;
第二种是在CDM的一对多关系中设置依赖关系
在这里插入图片描述
设置了依赖关系后,主表的主键就会以主键的身份出现在从表中,我们将考核信息表的两个主表的关系中都设置上依赖关系:
在这里插入图片描述
可以看到有依赖关系的实体会出现小三角形。
再次生成LDM:
在这里插入图片描述
考核信息表中现在有了联合主键。

实体继承

最常见的实体继承场景就是多用户系统,一个系统通常会有不同用户或角色,每个用户有相同的属性或字段,也有不同的属性。在PD的CDM里面可通过设置继承来完成不同的多用户表设计。下图为一个父表三个子表继承的例子:
在这里插入图片描述

法一 :生成各自子表

各自生成对应表,在继承关系属性页中不勾选生成父表。
在这里插入图片描述
生成LDM的结果如下:
在这里插入图片描述
可以看到子表中都从父表拷贝了对应字段,在PDM中父表将会消失。

法二:只生成父表,加字段区分子表类型

1.在所有继承关系中不勾选Generate children;
2.仅需在其中一个继承关系中加区分子表类型的字段。
在这里插入图片描述
生成LDM如下:
在这里插入图片描述
在最终的PDM中子表将不会出现,只有主表。

法三:主从表都要,靠外键关联

在继承关系属性页中勾选生成父表和子表,但单选框中选择只继承主键即可。
在这里插入图片描述
最后生成LDM如下:
在这里插入图片描述

关于toolbox的继承按钮灰色无法点击的解决方法如下:
选择菜单:tools->model options->Notation 改为"E/R+Merise"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值