【数据库】形式化关系查询语言(一):关系代数Relational Algebra

目录

一、关系代数Relational Algebra

1. 基本运算

a. 选择运算(Select Operation)

b. 投影运算(Project Operation)

组合

c. 并运算(Union Operation)

d. 集合差运算(Set Difference Operation)

e. 笛卡尔积运算(Cartesian-Product Operation)

 f. 更名运算(Rename Operation)

2. 关系代数的形式化定义

3. 附加关系代数(Additional Operations)

a. 集合交(Set-Intersection Operation)

b. 自然连接(Natural Join Operation)

c. 除法(Division Operation)

d. 赋值(Assignment Operation)

e. 外连接运算

4. 扩展的关系代数运算

a. 广义投影(generalized-projection)

b. 聚集(aggregation operation)

二、元组关系演算(Tuple Relational Calculus)

三、域关系演算(Domain Relational Calculus)


本文待进一步完善~

     关系代数是一种过程化查询语言。它包括一个运算的集合,这些运算以一个或两个关系为输入, 产生一个新的关系作为结果。关系代数基本运算有:选择、投影、并、集合差、笛卡儿积和更名。在 基本运算以外,还有一些其他运算,即集合交、自然连接和赋值。我们将用基本运算来定义这些运算。

一、关系代数Relational Algebra

1. 基本运算

        选择、投影和更名运算称为一元运算,因为它们对一个关系进行运算,另外三个运算对两个关系 进行运算.因而称为二元运算。

a. 选择运算(Select Operation)

       选择(selelct)运算选出满足给定谓词的元组,用符号σ表示:

        选择运算使用一个条件表达式作为参数,对关系中的每个元组进行判断,只有满足条件的元组才会被选取出来,形成一个新的关系。选择运算符通常用符号σ来表示。

选择运算的语法如下:
σ<条件表达式>(关系)

其中,条件表达式是一个逻辑表达式,可以使用关系中的属性进行比较和组合。比较运算符(如等于、大于、小于等)和逻辑运算符(如与、或、非等)可以用于构建条件表达式。

选择运算的结果是一个新的关系,其中包含原始关系中满足条件的元组。新关系的模式(属性集合)与原始关系相同。

举个例子,假设有一个关系R,包含属性A、B和C,我们可以使用选择运算来选取满足条件A>5的元组,语法为σ(A>5)(R)。

b. 投影运算(Project Operation)

组合

c. 并运算(Union Operation)

     

        1. 关系r和s必须是同元的,即它们的属性数目必须相同。

        2. 对所有的i,r的第i个属性的域必须和s的第i个属性的域相同。

请注意r和s可以是数据库关系或者作为关系代数表达式结果的临时关系。

d. 集合差运算(Set Difference Operation)

        用—表示的集合差(set-difference)运算使得我们可以找出在一个关系中而不在另一个关系中的那些元组。表达式r-s的结果即一个包含所有在r中而不在s中的元组的关系。

e. 笛卡尔积运算(Cartesian-Product Operation)

 f. 更名运算(Rename Operation)

2. 关系代数的形式化定义

3. 附加关系代数(Additional Operations)

a. 集合交(Set-Intersection Operation)

  • 定义: r ∩ s =

  • 要点:

    • r ,s 必须包含相同属性,即同元
    • r ,s 属性的域必须相容
  • 注意,任何使用了集合交的关系代数表达式,我们都可以通过用一对集合差运算替代集合交运 算来重写:

        r ∩ s = r − ( r − s )

b. 自然连接(Natural Join Operation)

  • 定义:r⋈s,r 表和 s 表根据重复属性进行笛卡尔积,最后去除重复属性

注意,如果关系r(R)和s(S)不含有任何相同属性,即R ∩ S =0,那么r ∩ s=r X S

  • 例题:

    • 查找计算机学院所有老师的名字以及他们所上课程的名字

    • 查找教授 ‘D.B.S' 和 ’O.S‘ 的老师的名字以及课程名称

c. 除法(Division Operation)

  • 定义:r÷s�÷�
  • R=(A1,A2,...Am,B1,B2,...Bn),S=(B1,B2,...Bn)
  • 解释:前提是 s 表的属性包含于 r 表。则 r 表属性去掉 s 表的属性之后,r 表中包含 s 表所有数据的元组被选出。其实文字比较难以形容,看图理解更好。

  • 应用:带有“包含某某集合所有元素”的问题,可以使用除法解决

  • 例题:

    • 选出选了计算机系所有课程的学生的 ID:∏courseid,ID(takes)÷(∏courseid(σdepartment=′Comp.Sci.′(course)))∏��������,��(�����)÷(∏��������(�����������=′����.���.′(������)))

d. 赋值(Assignment Operation)

  • 定义:temp←expressio,查询结果保存在临时表

e. 外连接运算

4. 扩展的关系代数运算

a. 广义投影(generalized-projection)

b. 聚集(aggregation operation)

二、元组关系演算(Tuple Relational Calculus)

待完善

三、域关系演算(Domain Relational Calculus)

待完善

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/91080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python: 用百度API读取增值税发票信息

# encoding: utf-8 # 版权所有 2023 涂聚文有限公司 # 许可信息查看&#xff1a; # 描述&#xff1a; # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2023.1 python 311 # Datetime : 2023/9/30 6:56 # User : geovindu # Product : PyCharm # Proj…

机器学习笔记 - 基于强化学习的贪吃蛇玩游戏

一、关于深度强化学习 如果不了解深度强化学习的一般流程的可以考虑看一下下面的链接。因为这里的示例因为在PyTorch 之上实现深度强化学习算法。 机器学习笔记 - Deep Q-Learning算法概览深度Q学习是一种强化学习算法,它使用深度神经网络来逼近Q函数,用于确定在给定状态下采…

架构设计第七讲:数据巡检系统之daily线上表结构自动化比对

架构设计第七讲&#xff1a;数据巡检系统之daily&线上表结构自动化比对 本文是架构设计第七讲&#xff0c;数据巡检系统之daily&线上表结构自动化比对&#xff0c;避免正式环境与测试环境数据库/表、列结构不一致带来问题。 文章目录 架构设计第七讲&#xff1a;数据巡…

193419-86-2,用于蛋白电泳检测的Fluorescein o-acrylate

产品简介&#xff1a;Fluorescein o-acrylate 中FITC具有荧光素衍生物的普遍特性&#xff0c;FITC也经常被用于蛋白电泳检测和荧光能量激发转移测试。 荧光染料及其荧光标记技术一直是生物领域常用的产品和技术&#xff0c;荧光物质是指具有共轭双键体系化学结构的化合物&…

LabVIEW开发实时自动化多物镜云计算全玻片成像装置

LabVIEW开发实时自动化多物镜云计算全玻片成像装置 数字病理学领域正在迅速发展&#xff0c;这主要是由于计算机处理能力、数据传输速度、软件创新和云存储解决方案方面的技术进步。因此&#xff0c;病理科室不仅将数字成像用于图像存档等简单任务&#xff0c;还用于远程病理学…

monkeyrunner录制脚本和回放

Monkeyrunner关于使用录制、生成脚本、编译脚本及执行脚本。 首先在计算机上下载和安装SDK、python 2.将recorder.py文件放置SDK文件夹里tools文件夹下 3.USB连接手机&#xff0c;手机端&#xff0c;开启USB调试&#xff0c;并在计算机DOS中输入adb devices命令&#xff0c;查看…

XXE 漏洞及案例实战

文章目录 XXE 漏洞1. 基础概念1.1 XML基础概念1.2 XML与HTML的主要差异1.3 xml示例 2. 演示案例2.1 pikachu靶场XML2.1.1 文件读取2.1.2 内网探针或者攻击内网应用&#xff08;触发漏洞地址&#xff09;2.1.4 RCE2.1.5 引入外部实体DTD2.1.6 无回显读取文件 3. XXE 绕过3.1 dat…

网络爬虫--伪装浏览器

从用户请求的Headers反反爬 在访问某些网站的时候&#xff0c;网站通常会用判断访问是否带有头文件来鉴别该访问是否为爬虫&#xff0c;用来作为反爬取的一种策略。很多网站都会对Headers的User-Agent进行检测&#xff0c;还有一部分网站会对Referer进行检测&#xff08;一些资…

【Leetcode】 501. 二叉搜索树中的众数

给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

【图论C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

K8S:pod控制器详解

文章目录 一.pod控制器的基础&#xff11;.pod概念及分类&#xff12;.什么是Pod控制器及其功用&#xff13;.pod控制器有多种类型&#xff08;1&#xff09;ReplicaSet&#xff08;2&#xff09;Deployment&#xff08;3&#xff09;DaemonSet&#xff08;4&#xff09;Statef…

python time和datetime的常用转换处理

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 一、time 1、…

第一部分:HTML5

目录 一&#xff1a;网页 1.1&#xff1a;什么是网页&#xff1f; 1.2&#xff1a;什么是HTML&#xff1f; 1.3&#xff1a;网页的形成 二&#xff1a;常用浏览器 三&#xff1a;Web标准 3.1&#xff1a;为什么需要Web标准&#xff1f; 3.2&#xff1a;Web标准的构成 四&a…

自动群发节日祝福,1 行 Python 代码搞定,小白可用

想了解更多精彩内容&#xff0c;快来关注程序员晚枫 大家节日快乐&#xff0c;这里是程序员晚枫&#xff0c;小红薯也叫这个名字。 今天给大家分享一个实用功能&#xff1a;自动群发祝福消息。 我相信社会人都体会过&#xff0c;过年过节给别人群发祝福消息的无奈&#xff0…

Cloudflare进阶技巧:缓存利用最大化

1. 引言 cloudflare我想你应该知道是什么&#xff0c;一家真正意义上免费无限量的CDN&#xff0c;至今未曾有哥们喷它的。当然&#xff0c;在国内的速度确实比较一般&#xff0c;不过这也不能怪它。 CDN最大的特色&#xff0c;我想就是它的缓存功能&#xff0c;达到防攻击&am…

C#解析JSON详解

C#解析Json详解 文章目录 C#解析Json详解什么是Json&#xff1f;Json的特点 常用的Json库Json.NET (Newtonsoft.Json)System.Text.Json 实例序列化反序列化 总结 什么是Json&#xff1f; JSON的全称是JavaScript Object Notation&#xff0c;是一种轻量级的数据交换格式&#…

抖音短视频seo矩阵系统源代码开发系统架构及功能解析

短视频seo源码&#xff0c;短视频seo矩阵系统底层框架上支持了从ai视频混剪&#xff0c;视频批量原创产出&#xff0c;云存储批量视频制作&#xff0c;账号矩阵&#xff0c;视频一键分发&#xff0c;站内实现关键词、短视频批量搜索排名&#xff0c;数据统计分类多功能细节深度…

spark Structured报错解决

报错&#xff0c;不想看原因的直接去解决方案试试 Exception in thread "main" java.lang.IllegalArgumentException: Pathname /C:/Users/Administrator/AppData/Local/Temp/1/temporary-611514af-8dc5-4b20-9237-e5f2d21fdf88/metadata from hdfs://master:8020/C…

我的国庆回家之路

文章目录 回家的计划假期的礼物学习新技术与家人团聚遇到的趣事总结 &#x1f389;欢迎来到IT陈寒的博客空间~我的国庆回家之路 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xff1a;Java学习路线&#x1…

作用域 CSS 回来了

几年前&#xff0c;消失的作用域 CSS&#xff0c;如今它回来了&#xff0c;而且比以前的版本要好得多。 更好的是&#xff0c;W3C规范基本稳定&#xff0c;现在Chrome中已经有一个工作原型。我们只需要社区稍微关注一下&#xff0c;引诱其他浏览器构建它们的实现&#xff0c;并…