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

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

第二章 实体-联系模型

实体

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

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

快速区分:

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

联系

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

实体联系图要素

弱实体集

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

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

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

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

相关推荐
caimouse1 分钟前
MM 学习笔记 10:页面文件与系统加载器
笔记·学习·reactos
NWU_LK5 分钟前
【WebFlux】第六篇 —— 全链路响应式与数据库交互
java·数据库
一只小菜鸡..6 分钟前
南京大学 操作系统 (JYY) 学习笔记:Hello, OS World! (程序的机器视角)
java·笔记·学习
叶总没有会12 分钟前
3.2 构建AI智能体项目扩展知识
java·数据库·人工智能·spring·ai
lazy H1 小时前
从入门到日常开发,一篇文章掌握 Git 核心操作
git·后端·学习·github
YOU OU8 小时前
Redis基础常识与命令
数据库·redis·缓存
克里斯蒂亚诺更新10 小时前
ruoyi角色权限的对应关系
笔记
Database_Cool_11 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森11 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_11 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql