ER图

实体关系模型

实体集合 :

具有相同属性的实体的集合,组成实体集的实体称为实体集的外延

属性 :表示实体的一类数据

域:实体属性的取值的集合

简单属性与复合属性:

单值属性不能够再分解为更小的属性,复合属性可以由更多分解的属性组合而成

单值属性与多值属性

单值属性值只能够取一个值
多值属性可以对应一组值,可以对多值属性的个数进行上下限限制

派生属性

可以从其他属性中::计算::得到,称为派生属性,::派生属性不存储,在需要的时候临时进行计算::

联系集合

实体集之间的联系称为参与
如果一个实体集中的所有实体都参与了集合,称为实体全部参与联系,否则称实体部分参与联系

  • 二元联系集

    两个实体关系的联系集合

  • 多元联系集

    多个实体关系的联系集合

练习集的度

::参与联系集的实体的数量::称为联系集的

联系集的约束
  1. 一对一
  2. 一对多
  3. 多对多
  4. 多对一
联系集的主码(A,B)
  1. 一对一 PRIMARY KEY(A) or PRIMARY KEY(B)
  2. 一对多 PRIMARY KEY(B) 选择多的B,具有唯一性
  3. 多对一 PRIMARY KEY(A)选择多的A,具有唯一性
  4. 多对多 : PRIMARY KEY (A) and PRIMARY KEY(B) 并集表现唯一性,符合主键

ER图

符号映射

  1. 矩形 : 实体集
  2. 菱形 : 关系集
  3. 单线段 : 连接实体集和关系集
  4. 椭圆 :实体集的属性
  5. 双椭圆 :多值属性
  6. 虚椭圆 : 派生属性
  7. 双矩形 : 弱实体集(依赖于其他实体集)
  8. 双线 :实体集全部参与关系集当中
  9. 下划线 :实体的PRIMARY KEY
  10. 虚下划线 :弱实体集的标识符
  11. 双菱形 :弱实体集的标示性联系

example :

在这里插入图片描述

上图为弱实体集标识性联系 的example
在这里插入图片描述

以上为实体集customer的ER图形式 :

customer_id : 下划线 ,为该实体集的PRIMARY KEY

phone_number : 双椭圆,多值属性,可以有多个电话号码

age : 派生属性 ,可以由 date_of_birth 计算得到,并不需要储存

name、address : 都是复合属性
![在这里插入图在这里插入图片描述以上为 ER图

实体集customer 与 account 与 联系集depositor连接联系集depositor中有着customer与account的PRIMARY KEY,同时该联系集也有自己的属性:access_date ,表示customer最后一次登录account的时间

ER图中 约束的表现方式

一对多 :带箭头的连线,多指向一 ,如 customer <——depositor——account表示 一个customer对应多个account

多对多 :用线段表示

完全参与 :双线连接 : 实体与联系之间的连线使用双线来表示

标识符表示约束 : 例如下图表示 customer与loan是一对多的关系

在这里插入图片描述

ER图扩展

  1. specialization(is a) :由**超类创建子类的过程 **自顶向下 person is a customer

  2. generalization : 由子类创建超类的过程 泛化 自底向上

    实体集customer与实体集employee继承自person

    person为超类 customer和employee为**子类*,特化与泛化是同一实质的不同方向

在这里插入图片描述

  1. Aggregation (has a) : 聚集

    联系集看做是高级实体集 (联系与联系)
    在这里插入图片描述

对 *关系 * 的理解

  1. 关系的属性

    关系的属性一般出现在多对多二元或三元关系上,一般一对多或一对一的关系不会放属性,因为这个时候关系的属性都可以放到一边的实体上,如下图:
    在这里插入图片描述

    Department与Employee之间是 一对一的关系, 在建模中我们可能用start_date属性来表示 员工进入部门的时间,这个关系可以放在is managed by 关系上,但也可以直接放在 Department或Employee实体上

  2. 关系中实体的存在性

    关系中实体的存在可以是强制的或者可选的,如果关系中的某一端实体必须存在,则该实体是强制的,否则是可选的,强制存在则最小连通数为1,可选最小连通数为0(用○来表示)
    在这里插入图片描述

  3. 泛化所表示的两种 重要约束

    • 重叠性约束 : 各个子类型之间是排他的,即一个子类型不可能是另一个子类型
    • 完备性约束 : 表示所有子类型在当前系统中是否能完全覆盖超类型
  4. 聚合中,子类型与超类型之间没有继承关系

  5. 三元关系

    三元关系中连通数的确定方法:
    1. 以三元关系中的一个实体作为中心,假设另两个实体都只有一个实例
    2. 如果中心实体只有一个实例能与另两个实体的一个实例进行关联,则中心实体的联通数为1
    3. 如果中心实体有多个实例能够与另两个实体实例进行关联,则中心实体的联通数为多

    三元关系的属性 属性值由三个实体的键的组合唯一确定

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值