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

《计算思维导论》笔记: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.lryc.cn/news/298441.html

相关文章:

  • QT+OSG/osgEarth编译之八十四:osgdb_osg+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_osg)
  • 【Redis快速入门】初识Redis、Redis安装、图形化界面
  • Linux(Ubuntu) 环境搭建:Nginx
  • 快速手动完成 VS 编写脚本自动化:如何选取最高效的工作方式?
  • FAST角点检测算法
  • Python中使用opencv-python进行人脸检测
  • 牛客网 DP3跳台阶扩展问题
  • ARM汇编[1] 打印格式化字符串(printf
  • Java 集合、迭代器
  • 在 Docker 中启动 ROS2 里的 rivz2 和 rqt 出现错误的解决方法
  • 使用securecrt+xming通过x11访问ubuntu可视化程序
  • 红队打靶练习:HEALTHCARE: 1
  • Java IO:概念和分类总结
  • 【Linux】基本命令(下)
  • 腾讯云游戏联机服务器配置价格表,4核16G/8核32G/4核32G/16核64G
  • 面试经典150题——长度最小的子数组
  • 业务流程
  • ChatGPT Plus如何升级?信用卡付款失败怎么办?如何使用信用卡升级 ChatGPT Plus?
  • Spring 如何配置 bean (XML 方式)
  • 揭秘外观模式:简化复杂系统的关键设计策略
  • Nginx 命令(Ubuntu)
  • 从github上拉取项目到pycharm中
  • python从入门到精通(十八):python爬虫的练习案列集合
  • 2.12作业
  • 树莓派4B(Raspberry Pi 4B) 使用docker搭建单机版nacos
  • C++入门学习(二十七)跳转语句—continue语句
  • JPEG图像格式加速神经网络训练--使用DCT训练CNN
  • 【代码】Processing笔触手写板笔刷代码合集
  • Junit常用注解
  • 【机器学习】支持向量机(SVM)