当前位置: 首页 > article >正文

《计算思维导论》笔记:10.4 关系模型-关系运算

《大学计算机—计算思维导论》(战德臣 哈尔滨工业大学)
《10.4 关系模型-关系运算》

一、引言

本章介绍数据库的基本数据模型:关系模型-关系运算。

在这里插入图片描述

二、什么是关系运算

在数据库理论中,关系运算(Relational Operations)是一组用于操作和查询关系型数据库中数据的数学运算。这些运算主要针对的是二维表格形式的关系数据,通过这些运算可以合并和提取数据库表中的数据。

关系运算通常包括以下几个核心部分:

  • 并:R ∪ S
  • 差:R - S
  • 交:R ∩ S
  • 积:R × S
  • 选择:σ(R)
  • 投影:π(R)
  • 连接:R ⋈ S

三、并运算

并(Union)

  • 定义:设关系R和关系S是并相容的(即:属性数目相同,其对应的域也相同),则关系R与关系S的并运算结果也是一个关系,记作: R∪S, 它由或者出现在关系R中,或者出现在S中的元组构成。
  • 数学描述:R∪S = { t | t ∈ R v t ∈ S } ,其中 t 是元组。
  • R ∪S 与 S ∪R 运算的结果是同一个关系

在这里插入图片描述

在这里插入图片描述

四、差运算

差(Difference)

  • 定义:假设关系R和关系S是并相容的,则关系R 与关系S的差运算结果也是一个关系,记作:R - S, 它由出现在关系R中但不出现在关系S中的元组构成。
  • 数学描述: R - S ={ t | t ∈ R ∧ t ∉ S } ,其中 t 是元组。
  • 注意:R - S 与 S - R 是不同的。

在这里插入图片描述
在这里插入图片描述

五、交运算

交(Intersection)

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的交运算结果也是一个关系,记作:R∩S,它由同时出现在关系R和关系S中的元组构成。
  • 数学描述: R∩S ={ t | t∈R∧t∈S } ,其中t是元组
  • R∩S和S∩R 运算的结果是同一个关系
  • 交运算可以通过差运算来实现:R∩S = R-(R-S) = S-(S-R)

在这里插入图片描述
在这里插入图片描述

六、笛卡尔积运算

广义笛卡尔积 (Cartesian Product)

  • 定义:关系R (<a1 , a2 , …, an >) 与关系S(<b1 , b2 , …, bm >) 的广义笛卡尔积(简称广义积) 运算结果也是一个关系,记作: R x S, 它由关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成。
  • 数学描述: R x S ={ <a1 , a2 , …, an , b1 , b2 , …, bm > |<a1 , a2 , …, an > ∈R ∧<b1 , b2 , …, bm > ∈S }
  • 笛卡尔积可将两个表串接起来作为一个表进行操作

在这里插入图片描述
在这里插入图片描述

七、选择运算

选择(Selection)

  • 定义:给定一个关系R, 同时给定一个选择的条件condition(简记con),选择运算结果也是一个关系,记作 σcon( R ), 它从关系R中选择出满足给定条件condition的元组构成
  • 数学描述:σcon( R )={t | t ( R )={t | t ∈ R ∧ con(t) =‘真’}

在这里插入图片描述
在这里插入图片描述

八、投影运算

投影(Projection)

  • 定义:给定一个关系R, 投影运算结果也是一个关系,记作 πA ( R ), 它从关系R中选出属性包含在A中的列构成。
    在这里插入图片描述

在这里插入图片描述

九、连接运算

θ-连接(θ-Join)

在这里插入图片描述

自然连接(Natural-Join)

在这里插入图片描述

θ-连接 vs. 连接 vs. 笛卡尔积

在这里插入图片描述

十、小结

在这里插入图片描述

笛卡尔积和笛卡尔有什么关系?

笛卡尔积(Cartesian product)与笛卡尔(René Descartes)有直接的历史渊源关系。笛卡尔积这一数学概念正是以法国哲学家、数学家和物理学家勒内·笛卡尔(René Descartes)的名字命名的,他在17世纪的数学领域做出了重大贡献。

笛卡尔积是他提出的用来描述两个集合之间所有可能有序对组合的一种数学运算。具体来说,如果给定两个集合A和B,它们的笛卡尔积记作A×B,结果是一个新的集合,其中的元素是所有可能的有序对(a, b),其中a是A中的元素,b是B中的元素。这个概念在现代数学的多个分支中都具有核心地位,特别是在集合论、代数、几何以及数据库理论等领域。


http://www.kler.cn/news/234052.html

相关文章:

  • JRT监听程序
  • 爬虫练习——动态网页的爬取(股票和百度翻译)
  • Jetpack Compose常用工具包推荐
  • WordPress函数wptexturize的介绍及用法示例,字符串替换为HTML实体
  • HTML5+CSS3+移动web——HTML 基础
  • 计算机网络期末复习要点(谢希仁第8版)抱佛脚通用
  • CodeWave学习笔记--博物馆预约管理系统
  • [C#] 如何对列表,字典等进行排序?
  • 4、解构三个重要的Pipeline(SD-Inpainting, ControlNet, AnimateDiff) [代码级手把手解析diffusers库]
  • redis过期淘汰策略、数据过期策略与持久化方式
  • Multisim14.0仿真(五十五)汽车转向灯设计
  • 骨科器械行业分析:市场规模为360亿元
  • 7 scala的类构造器
  • 物联网数据隐私保护技术
  • Java:JDK8新特性(Stream流)、File类、递归 --黑马笔记
  • MySQL数据库应用实验报告——实验1 表结构创建
  • 疑似针对安全研究人员的窃密与勒索
  • Element-ui date-picker组件报错 date.getHours is not a function
  • Lua: 一门轻量级、高效的脚本语言
  • HiveSQL——借助聚合函数与case when行转列
  • 【Java】案例:检测MySQL是否存在某数据库,没有则创建
  • DC-8靶机渗透详细流程
  • 怎么用postman调用webservice(反推SoapUI)
  • Ubuntu上开启SFTP服务教程
  • 软件安全测试报告如何编写?权威的安全测试报告如何获取?
  • Hive-架构与设计
  • CNN应用Keras Tuner寻找最佳Hidden Layers层数和神经元数量
  • vue3跨组件(多组件)通信:事件总线【Event Bus】
  • 修改GI文件的权限
  • 双活工作关于nacos注册中心的数据迁移