《数据库原理教程》——第二章 实体-联系模型 笔记

注:参考教材:《数据库原理教程》(作者:范明等)

第二章 实体-联系模型

实体

实体: 客观存在并且可以相互区分的任何事物。可以是实际对象,也可以是抽象概念。
属性: 刻画实体的特性。 属性的值域:属性的取值范围。
实体集: 具有相同属性的实体的集合。

  • 超码: 包含唯一标识元组所需属性的集合,可能有多余属性。
  • 候选码: 最小的超码,去掉任何属性后就无法唯一标识元组。
  • 主码: 从候选码中选出的一个,作为关系的主要标识属性。
  • : 表示 主码 或 候选码
  • 简单属性: 不可再分的单一属性,如"姓名"或"年龄"。
  • 复合属性: 由多个子属性组成的属性,如"地址"可分为"城市""街道""邮编"。
  • 单值属性: 每个实体只有一个值的属性,如"学号"。
  • 多值属性: 每个实体可有多个值的属性,如"电话号码"(一个人可能有多个)。
  • 基本属性: 直接存储、不依赖其他属性的属性,如"出生日期"。
  • 派生属性: 通过其他属性计算得到的属性,如"年龄"由"出生日期"派生。

快速区分:

  • 简单 vs 复合: 能不能拆分。
  • 单值 vs 多值: 一个实体有几个值。
  • 基本 vs 派生: 直接存还是计算得。

联系

  • 联 系: 多个实体之间的相互关联。
  • 联系集: 相同类型联系的集合。
  • 联系的类型:
  • 一对一
  • 一对多
  • 多对一
  • 多对多
    联系也可以具有属性。

实体联系图要素

弱实体集

  • 弱实体集:不存在码的实体集。
  • 强实体集:存在码的实体集。
  • 标识性实体:是强实体集,它通过标志性联系为弱实体提供标识能力。
  • 标识性联系: 弱实体依赖强实体的关系。
  • 分辨符: 弱实体中区分实例的属性。
  • 部分码:弱实体的分辨属性,与强实体主键组成完整主键。
  • 弱实体主键 = 强实体主键 + 分辨符(部分码)。

注:主码就是主键。
处理弱实体集的方法:

  1. 与多个标识实体集关联
  2. 把弱实体集作为标识实体集的一个多值复合属性
  3. 将强实体集的码添加到弱实体集使其成为强实体集。(不好的做法!)

在ER图中,可以将属性单列为表,而在图中省略属性。

相关推荐
dishugj3 分钟前
HANA 数据库的核心进程架构
数据库
2301_782040459 分钟前
CSS Flex布局中如何实现导航栏与Logo的左右分布_利用justify-content- space-between
jvm·数据库·python
.柒宇.16 分钟前
Redis主从复制集群搭建详解
数据库·redis·缓存·主从复制
2301_8084143823 分钟前
MySQL中的函数
数据库·mysql
kdxiaojie24 分钟前
U-Boot分析【学习笔记】(3)
linux·笔记·学习
Mahir0826 分钟前
MySQL 数据一致性的基石:三大日志( redo log/undo log/binlog)与两阶段提交(Prepare 阶段和Commit 阶段)深度解密
数据库·后端·mysql·面试
智者知已应修善业1 小时前
【51单片机模拟生日蜡烛】2023-10-10
c++·经验分享·笔记·算法·51单片机
MediaTea1 小时前
Scikit-learn:从数据到结构——无监督学习的最小闭环
人工智能·学习·算法·机器学习·scikit-learn
智者知已应修善业1 小时前
【51单片机如何让LED灯从一亮到八,再从八亮到一】2023-10-13
c++·经验分享·笔记·算法·51单片机
@杰克成1 小时前
Java学习26
java·学习·idea