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

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

第二章 实体-联系模型

实体

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

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

快速区分:

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

联系

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

实体联系图要素

弱实体集

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

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

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

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

相关推荐
素玥18 小时前
实训7 json文件数据用python导入数据库
数据库·python·json
大邳草民18 小时前
Python 对象模型与属性访问机制
开发语言·笔记·python
Rick199318 小时前
Redis 底层架构图
数据库·redis·缓存
ZC跨境爬虫18 小时前
海南大学交友平台开发实战 day9(头像上传存入 SQLite+BLOB 存储 + 前后端联调避坑全记录)
前端·数据库·python·sqlite
kinl201818 小时前
cs2385_note5 (lec18-lec19) Variational Inference & Control as Inference
笔记
Trouvaille ~18 小时前
【MySQL篇】内置函数:数据处理的利器
数据库·mysql·面试·数据清洗·数据处理·dql·基础入门
迦南的迦 亚索的索18 小时前
PYTHON_DAY20_数据库
数据库·oracle
数厘18 小时前
2.14 sql数据删除(DELETE、TRUNCATE)
数据库·oracle
red_redemption18 小时前
自由学习记录(165)
学习
XDHCOM19 小时前
MySQL ER_ERROR_ENABLING_KEYS报错修复,远程处理索引启用失败故障,解决数据表锁定与性能瓶颈问题
数据库·mysql