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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

PKI - 借助Nginx 实现Https_使用CA签发证书

文章目录 Pre概述操作步骤1. 生成 CA 密钥对2. 生成自签名的 CA 证书3. 生成服务器密钥对和证书签名请求 (CSR)4. 使用 CA 签署服务器证书 Nginx Https 自签证书1. 生成自签名证书和私钥2. 配置 Nginx 使用 CA签发的 HTTPS 证书3. 重启 Nginx 服务4. 直接访问5. 不验证证书直接…

代码随想录算法训练营day15||二叉树part02、102.二叉树的层序遍历、 226.翻转二叉树(优先掌握递归)、101. 对称二叉树 (优先掌握递归)

102.二叉树的层序遍历 题目&#xff1a;给你一个二叉树&#xff0c;请你返回其按 层序遍历 得到的节点值。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 接下来我们再来介绍二叉树的另一种遍历方式&#xff1a;层序遍历。 层序遍历一个二叉树。就是…

Centos7之忘记Root用户密码的处理方式

Centos7之忘记Root用户密码的处理方式 文章目录 Centos7之忘记Root用户密码的处理方式1.场景描述2. 重置密码1. 重启系统进入编辑界面2. 按方向键下键↓&#xff0c;找到设置语言的地方3. 进入bash界面后&#xff0c;可以输入passwd命令重新设置root密码 1.场景描述 长时间未使…

前后端分离nodejs+vue流浪狗宠物领养公益网站

1.发现公益&#xff1a;主要是根据社会上的调研&#xff0c;来收集的社会上有关流浪狗的公益活动&#xff0c;发布在公益网站上能被更多人发现&#xff0c;主要让更多人能参与到公益活动中来&#xff0c;并调动群众的同情心和爱心&#xff0c;借此希望在养宠物的主人能避免自己…

vue3 之 商城项目—项目搭建起步

1.创建项目 1️⃣ npm init vuelatest2️⃣ npm install3️⃣ npm run dev4️⃣目录调整 2.git管理项目 基于creact-vue创建出来的项目默认没有初始化git仓库&#xff0c;需要我们手动初始化 执行命令 git init git add. git commit -m init3.项目起步—配置别名路径联…

前端开发_AJAX基本使用

AJAX概念 AJAX是异步的JavaScript和XML(Asynchronous JavaScript And XML)。 简单点说&#xff0c;就是使用XMLHttpRequest对象与服务器通信。 它可以使用JSON&#xff0c;XML&#xff0c;HTML和text文本等格式发送和接收数据。 AJAX最吸引人的就是它的“异步"特性&am…

顶级思维方式——对优秀人才的定义

目录 1、乔布斯对优秀人才的定义 2、 乔布斯对优秀人才的管理 3、感到压力焦虑的时候怎么办 注&#xff1a; 以下内容均来自乔布斯、贝索斯的采访视频摘录 1、乔布斯对优秀人才的定义 乔布斯&#xff1a; 公司规模变大之后&#xff0c;就会变得循规蹈矩。他们觉得只要遵守流…

MySQL数据库-索引概念及其数据结构、覆盖索引与回表查询关联、超大分页解决思路

索引是帮助mysql高效获取数据的数据结构,主要用来提高检索的效率,降低数据库的IO成本(输入输出成本&#xff08;Input-Output Cost&#xff09;),同时通过索引对数据进行排序也能降低数据排序的成本,降低了CPU的消耗。 Mysql的默认存储引擎InnoDB&#xff0c;InnoDB采用的B树的…

肯尼斯·里科《C和指针》第12章 使用结构和指针(2)双链表

12.3 双链表 单链表的替代方案就是双链表。在一个双链表中&#xff0c;每个节点都包含两个指针——指向前一个节点的指针和指向后一个节点的指针。这可以使我们以任何方向遍历双链表&#xff0c;甚至可以随意在双链表中访问。下面的图展示了一个双链表。 下面是节点类型的声明&…

算法刷题:移动零

移动零 .题目链接详解curdesc算法原理 答案 . 题目链接 移动零 详解 题目要求我们要把数组中所有的零都移动到数组的末尾,且要求其余数字顺序不改变.这道题,我们使用到的是双指针算法: 利用两个指针,将数组分为三个部分, 三个区间分别为 [0,desc][desc1,cur-1][cur,n-1] 在…

算法学习——LeetCode力扣二叉树篇1

算法学习——LeetCode力扣二叉树篇1 144. 二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣&#xff08;LeetCode&#xff09; 描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&a…

电子电器架构 —— 区域控制器是未来架构的正解吗?

电子电器架构 —— 区域控制器是未来架构的正解吗? 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶…

C++ //练习 5.5 写一段自己的程序,使用if else语句实现把数字成绩转换成字母成绩的要求。

C Primer&#xff08;第5版&#xff09; 练习 5.5 练习 5.5 写一段自己的程序&#xff0c;使用if else语句实现把数字成绩转换成字母成绩的要求。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /***************************…

视觉开发板—K210自学笔记(四)

在点灯之后&#xff0c;我们就需要饿补一下相关的编程基础知识&#xff0c;了解基本语法&#xff0c;加深底蕴才能编写出更好的程序来。由于 MaixPy 是基于 MicroPython 之上进行开发构建的&#xff0c;提供给用户最终的接口是 Micropython &#xff0c;所以在使用 MaixPy 开发…

C语言-----自定义类型-----结构体枚举联合

结构体和数组一样&#xff0c;都是一群数据的集合&#xff0c;不同的是数组当中的数据是相同的类型&#xff0c;但是结构体中的数据类型可以不相同&#xff0c;结构体里的成员叫做成员变量 结构体类型是C语言里面的一种自定义类型&#xff0c;我们前面已经了解到过int,char,fl…

选择影视行业创业的原因,影视从业者创业成功的秘密

一、教程描述 本套教程是面向影视从业者的创业教程&#xff0c;主讲人将把自己的创业经验、行业观察、成长心得分享给大家。如果你正在创业&#xff0c;这门课可以让你飞速成长、弯道超车。主讲人积累的行业经验&#xff0c;会让你比大多数同行站的更高&#xff0c;看的更宽。…

KEIL-MDK的时间戳之time.h 结合gd32f1的RTC应用

KEIL-MDK的时间戳之time.h 的应用 1 时间戳介绍 现在物联网产品的在进行通讯的时候&#xff0c;需要加入时间戳的这个信息参数&#xff0c;方便服务器和产品之间交换时间信息。 时间戳是计算机系统中用来表示日期和时间的一种方式&#xff0c;通常是一个数字或者一串字符&am…

【DDD】学习笔记-统一语言与领域分析模型

无论你采用什么样的软件开发过程&#xff0c;对于一个复杂的软件系统&#xff0c;都必然需要通过分析阶段对问题域展开分析&#xff0c;如此才能有的放矢地针对该软件系统的需求寻找设计上的解决方案。在领域驱动设计中&#xff0c;分析阶段完全围绕着“领域”为中心展开&#…

从信息隐藏到功能隐藏

本文主要记录复旦大学张新鹏教授于2022年12月在第三届CSIG中国媒体取证与安全大会上的汇报

微信小程序 民宿预订租赁系统uniApp

通过山青水磨APP办理租房相关业务&#xff0c;线上解决预定、退订的业务&#xff0c;旅客在使用时更加灵活&#xff0c;实现了快速找房&#xff0c;在线沟通、便捷租赁等操作&#xff0c;除此以外&#xff0c;还能帮助旅客获取周边资讯、当地特色活动服务&#xff0c;提升旅客的…