如何理解关系代数中除运算?

本文通过实例解析数据库中的除法运算,阐述如何理解R÷S的操作。首先,通过列举不同组合来解释除运算的过程,然后通过查询至少选修1号和3号课程的学生号码的问题,展示如何运用投影和除法。通过这种方式,揭示了关系代数在数据库查询中的应用,使读者能够掌握这一概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我学习对手不学习,那么就会有差距;我不学习对手学习,我就牢牢甩在身后。因此,风里雨里,学习不辜负你。今天继续学习《数据库概论》,专门讲述一下除运算如何理解。

除运算

除运算一开始我也没理解,它说除运算从行和列考虑。但是看了一个例子之后,就可以照猫画虎的算了
在这里插入图片描述
就拿这道题目来说吧,这道题目说R÷S。初看不解题就会发现,R中B列和C列与S中B列与C列有共性。那么看了题解之后,解题步骤就如下:

  • 先将A中可能取值数出 a 1 , a 2 , a 3 , a 4 a1,a2,a3,a4 a1,a2,a3,a4
  • 那么 a 1 a1 a1 [ b 1 , c 2 ] , [ b 2 , c 3 ] , [ b 2 , c 1 ] {[b1,c2}]{,[b2,c3]},{[b2,c1]} [b1,c2],[b2,c3],[b2,c1]种组合,而 a 2 a2 a2 [ b 1 , c 7 ] , [ b 2 , c 3 ] {[b1,c7}]{,[b2,c3]} [b1,c7],[b2,c3]种组合, a 3 a3 a3 [ b 4 , c 6 ] {[b4,c6}] [b4,c6]种组合, a 4 a4 a4 [ b 6 , c 6 ] {[b6,c6}] [b6,c6]种组合.
  • 而S中只有 [ b 1 , c 2 ] , [ b 2 , c 1 ] , [ b 2 , c 3 ] [b1,c2],[b2,c1],[b2,c3] [b1,c2],[b2,c1],[b2,c3]种组合
  • 刚好a1全覆盖S集合,所以答案就是a1

例题:查询至少选修1号课程和3号课程的学生号码

在这里插入图片描述
这种解题过程从ppt看来有点像操作excel一样,有点意思。先将选修1号和3号做成一个表格。简称为临时关系
在这里插入图片描述
然后将课程号与学生号码投影后再做乘法。投影是选择列,而做除法就是直接选择1并且3的号码。演示过程如下

  • 投影选择 π S n o , C n o ( S c ) \pi_{Sno,Cno}(Sc) πSno,Cno(Sc),发现学号只有两个学号一个是201215121与201215122.
  • 前一个集合为{1,2,3}是指课程1,课程2,课程3,而后一个学号的集合为{2,3}
  • 而既包含1和3的只有201215121.

这样就完美解释了关系代数的除法理解。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值