数据库—关系代数

传统的集合运算

在数据库中的关系代数运算有以下三种基本运算


  • 必须满足两个表之间的属性个数必须一样。(必须具有相容性)

投影与选择运算

  • 投影:π L _L L( R )
    解释->π是投影符号,L是R表中的属性列,从R中选出L的属性列,叫做投影
    好比SQL语句:select sno from student,从学生表中投影出sno学号。(当然投影属性可以不止一个,用逗号隔开就好,不管是SQL语句还是关系投影都是用逗号隔开就行)
  • 选择:σ X _X X θ _θ θ Y _Y Y(R)
    解释->条件选择, X _X X θ _θ θ Y _Y Y表示条件θ在这里代表比较运算符大于或等于这些,满足条件的就从R表中选择出来,就叫做选择操作
    好比SQL语句:select * from student where sno=‘01’,这里没有作投影操作,所以只要满足条件就会整个元输出,所以是 * 。
  • Tips
    这里的投影与选择操作都是基于集合来运算的,所以可以结合并交叉运算符来写出更为复杂的查询语句。

连接运算

  • R × X _X X θ _θ θ Y _Y Y S
    其实就是将两个表的元组拼在一起作笛卡尔积运算,并且这是带有条件的运算, X _X X θ _θ θ Y _Y Y就代表连接条件
    在这里插入图片描述

  • R S (自然连接)
    没有写连接条件的就叫做自然连接,自然连接就是等值连接 X _X X = _= = Y _Y Y但是他会将两个表的相同属性列合并。如果是显示的写出该等值条件,也就是上述的等值连接就不会将相同属性列去掉,而是属于上述R X _X X θ _θ θ Y _Y Y S 操作。这也是自然连接的一个好处,能自动将相同属性列去掉只保留一份。
    注意:自然连接两个表的属性列的属性名字要相同才能进行自然连接。既然要同名,那我可以使用ρ 直接给他换个名字之后再进行自然连接(就是下面提到的重命名)
    在这里插入图片描述
    自然连接默认做的操作

    • R×S做笛卡尔积操作
    • 将属性相等的进行等值条件连接
    • 去除重复的属性
  • 选择投影的等值条件连接与自然连接是等价的。
    R▷◁S=∏B(σR.A=S.A (R×S))

除法

象集

这个概念这是如其名了,十分抽象。不过老师的PPT的一个例子讲的很好。
在这里插入图片描述
如果但看概念真的很抽象,还是例子一看就懂。
意思就是假如你要找小明的象集,那在这个关系表,有关小明的元组中将小明这个属性值去除掉,每一个元组除了小明这个属性值外就对应一个象集元素,全部加起来就是小明的象集。
有点像现实生活中的关系,你跟哪个群体是一伙的,那么那个团体的人就是你的人际关系的一个元素,你的所有群体的每一个团体集合就是一个象集。

除法

象集理解了除法就好理解了,两个表做除法就是一个被除数与除数的关系。

  • 被除数与除数
    在数据库的关系代数中,作为被除数一方,是提供给除数去对比的,让除数找到自己的部分,然后找到与自己部分或者自己就在那个集合里面组成的那个元组的其他属性,然后那个就是俩表做除法的结果。
    用文字解释就很是挺抽象的,老师的PPT例子也做得很好,下面给出截图。
  • 总的来说就是
    被除数就是参照表,除数去找到自己的一部分,在被除数中奖自己的一部分删除掉,剩下的属性数据就是除法的结果。
    在这里插入图片描述

收获

在集合中做运算一律都是不会出现重复的,因为集合本身就是这样定义的,没有重复的元素。

重命名

  • ρ
    在这里插入图片描述
    将R重命名为S,如果不写括号内的A1A2…就代表原封不动的将R的属性名搬过来给S,只是将R重名为S而已,如果要改变属性列就要写括号内的内容。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库关系代数查询是一种用于在数据库中执行查询操作的形式化语言。CSND(CSDN)作为一个IT技术社区网站,也提供了数据库关系代数查询的学习资料和示例。 数据库关系代数是一种以代数方式描述和操作关系型数据库的方法。它包含了一组操作符,每个操作符都用于执行特定的数据库操作。常见的关系代数操作符有选择(σ)、投影(π)、并(∪)、交(∩)、差(-)等。通过这些操作符的组合,可以构建复杂的数据库查询。 假设我们要查询CSDN的用户表中年龄大于18岁的用户信息,可以使用选择操作符进行查询。具体操作可以是:“选择(σ)年龄 > 18(用户表)”。 如果我们还想查询符合某个条件的用户的用户名和邮箱,则可以使用投影操作符。具体操作可以是:“投影(π)用户名,邮箱(选择(σ)年龄 > 18(用户表))”。 此外,我们还可以使用联接(Join)操作符来查询不同表之间的关联信息。比如,如果我们希望查询用户发布的文章及其相关的标签信息,可以使用联接操作符。具体操作可以是:“选择(σ)用户表.用户ID = 文章表.用户ID (用户表 ⨝ 文章表)”。 总之,数据库关系代数查询是通过操作符和操作表达式对数据库进行查询和操作的一种形式化语言。在CSDN等技术社区网站上,我们可以找到相关的学习资料和示例,帮助我们更好地理解和应用数据库关系代数查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹等寒

谢过道友支持,在下就却之不恭了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值