数据库系统概论-----专门关系运算---除运算

本文深入解析数据库中的除运算概念,通过实例讲解除运算的定义及其应用,帮助读者掌握除运算的精髓。

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

上一周学了除运算,书上的定义乍一看完全懵,必须要好好分析一下才能理解。本弱鸡正在进步,下面就来分享一下自己的见解。如果发现错误,请指出。

先看书上除运算的定义:
在这里插入图片描述
我们知道关系是一张二维表,所以我们的研究对象就是两张二维表,作除运算之后还是一张二维表(即关系T)。T包含所有在R但不在S中的属性和属性的值。举个例子:
在这里插入图片描述
在这里插入图片描述
给出了R和S,按照定义,T中只包含属性A和属性A的值。A可以取{a1,a2,a3,a4}这4个值,S有3个元组,则每个值和S中的元组都有3种组合。看R中a1对应的B,C属性的值就有三种:
{(b1,c2),(b2,c3),(b2,c1)}刚好是S中的3个元组对应的B、C的值,满足“T的元组和S的元组的所有组合都在R中”。而a2,a3,a4以同样的方式就得不出这个结果。所以T=

在这里插入图片描述

再看用象集定义的除运算:
在这里插入图片描述
举个例子:
给出学生选课的信息表:
在这里插入图片描述
查询至少选修1号课程和3号课程的学生学号
一般的解决方法是把要解决的问题的条件“至少选修1号课程和3号课程”列成一张表,作为一个临时关系K
在这里插入图片描述
K也就是除运算的“除数”,“被除数”就是SC表,因为学号和课程号都在里面。由除运算的象集定义法,R(X,Y),S(Y,Z)在这里对应SC(学号,课程号),K(课程号,Z),Z就是其他属性组。
K在课程号(Cno)上投影的集合就是选取上图中的Cno列。
投影的概念:关系S上的投影是从S中选出若干属性列组成新的关系。这个很好理解。
“元组在X上的分量值x的象集Yx”,即表格的每一行在“学号”这个属性上都对应一个学号值x,象集Yx就是x所在的元组上的课程号的值。
在这里插入图片描述
求“K在课程号(Cno)上投影的集合(即课程号至少为1和3)包含在Yx里”对应的x值,就是求课程号至少包含1和3的学生的学号x。除运算的结果就是x集合,看SC表只有学号{201215121}满足条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值