概念模型与E-R模型

153 篇文章 19 订阅
72 篇文章 22 订阅

概念模型

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。

特点:

  1. 能真实、充分地反映现实世界,是现实世界的一个真实模型。
  2. 易于理解,从而可以用它和不熟悉计算机的用户交换意见。
  3. 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
  4. 易于向关系、网状、层次等各种数据模型转换

E-R模型

E-R图提供了表示实体型、属性和联系的方法

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n或m∶n)。(联系可以具有属性)。

                                           0e93b390a7615e53774ee0b1b60747f6.png

两实体型之间的联系可以分为:

  • ①一对一联系(1∶1)

如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。

  • ②一对多联系(1∶n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n。

  • ③多对多联系(m∶n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。

    两个实体的联系示意图:

            17ac8ba5a9970206e0e7433d60468792.png

三个实体联系示意图:

                    17ac8ba5a9970206e0e7433d60468792.png

单个实体型内的联系示意图:

                                             17ac8ba5a9970206e0e7433d60468792.png

联系的度:参与联系的实体型的数目

  • 2个实体型之间的联系度为2,也称为二元联系;
  • 3个实体型之间的联系度为3,称为三元联系;
  • N个实体型之间的联系度为N,也称为N元联系

eg:某个工厂物资管理的概念模型。物资管理涉及的实体及属性有:

  • 仓库属性有:仓库号、面积、电话号码
  • 零件属性有:零件号、名称、规格、单价、描述
  • 供应商属性有:供应商号、姓名、地址、电话号码、账号
  • 项目属性有:项目号、预算、开工日期
  • 职工属性有:职工号、姓名、年龄、职称

224deef1ca951ab82968c22669f44b35.png

实体之间的联系有:

  1.  一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。
  2. 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多的联系。
  3. 职工之间具有领导与被领导关系。即仓库主任领导若干保管员,因此职工实体型中具有一对多的联系。
  4. 供应商、项目和零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。

                         3cb55d2faaf52d84971711cd4ef49edc.png

         cef554519fab2ae1adee794b4713e577.png

概念结构设计

为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。

原则:

  1. 作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。  
  2. 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。

例子:在医院中,一个病人只能住在一个病房,病房号可以作为病人实体的一个属性;    

如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则根据准则(2) 病房应作为一个实体。

        45d9a8c32b3b4aceb9082e191d654a94.png

分E-R图的集成

分E-R图的集成一般需要分两步  

  1. 合并。解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图。  
  2. 修改和重构。消除不必要的冗余,生成基本E-R图。

                       52125f200a087f5d0e6a83e89fa9f947.png     

消除冲突

E-R图之间的冲突主要有三类:

  • 属性冲突

属性域冲突,即属性值的类型、取值范围或取值集合不同。

  • 命名冲突
  1. 同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
  2. 异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
  • 结构冲突
  1. 同一对象在不同应用中具有不同的抽象。
  2. 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。
  3. 实体间的联系在不同的E-R图中为不同的类型。

消除不必要的冗余

  • 所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。
  • 消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
  • 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值