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

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

第二章 实体-联系模型

实体

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

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

快速区分:

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

联系

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

实体联系图要素

弱实体集

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

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

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

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

相关推荐
m0_5951998519 分钟前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你199325 分钟前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
ReedFoley1 小时前
【笔记】动手学Ollama 第五章 Ollama 在 LangChain 中的使用 - Python 集成
笔记·langchain
月盈缺1 小时前
学习嵌入式的第二十二天——数据结构——双向链表
数据结构·学习·链表
小猿姐2 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
★YUI★3 小时前
学习游戏制作记录(制作系统与物品掉落系统)8.16
学习·游戏·ui·unity·c#
努力还债的学术吗喽3 小时前
【速通】深度学习模型调试系统化方法论:从问题定位到性能优化
人工智能·深度学习·学习·调试·模型·方法论
NocoBase3 小时前
10 个开源工具,快速构建数据应用
数据库·低代码·开源
麻辣清汤4 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
Kan先生5 小时前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python