关系代数表达式总结-数据库(2)

2025-11-17

特别注意,本题不能写为:πSno(σCno≠’2’(SC))。因为,选择运算为行运算,并且SC表中包含的只是选修了课程的学生学号,对那些没选任何课程的学生学号,在SC中找不到。根据题意,要查询没有选修课程号为‘2’课程的学生学号,显然包括没选任何课程的学生学号。

当查询涉及到针对“否定”特征含义的查询要求,如“不”、“没有”等字眼,一般要用差运算表示。

四、自然连接

例5 检索不学“2”号课程的学生姓名与年龄。

分析:首先考虑“差”的问题。先求出全体学生的姓名和年龄,再求出学了”2”号课程的学生的姓名和年龄,最后执行两个集合的差操作。

πSname,Sage(Student)- πSname,Sage(σCno=’2’(StudentSC))

例6 查询至少选修了一门其直接先行课为“5”号课程的学生姓名。 分析:(1)根据题目确定要输出的列为:Sname,都在Student表中; (2)根据题意,先行课程名为“5”,则选择的条件为Cpno=’5’,因为Cpno在Course表中,所以也要用到Course表;

(3)根据1,2两步确定用到的表名集为{Student,Course};

(4)因为表名集中两个表,则要用自然连接将它们连接起来,但因为这个两表不存在共同的列,不能进行自然连接。因此要加入中间表,中间表中应含有能与其它两个表进行自然连接的公共列,这个表就是SC。将选择条件Cpno=‘5’作用于自然连接后产生的新表上,并用投影操作选取要输出的Sno,Cno。

综上,该查询的关系代数表达式为:

πSname(σCpno=’5’(Course)SCπSno,Sname(Stuent))

πSname(πSno(σCpno=’5’(Course)SC)Stuent))

五、除

1.除法定义中的含义 分析:(1)前提:两个关系R(X,Y)和S(Y,Z)应该有公共属性列。 (2)运算结果为P(X),元组来自于R关系,只包含X属性列 (3)R关系中的哪些元组呢? 对于T[X]的象集包含∏Y(S) 2.除法运算的步骤

(1)将被关系R的属性分成两个部分,即与除关系相同的属性部分Y,和与除关系不同的属性部分X。

(2)在除关系中,求Y的投影,得到目标数据集。 (3)将被除关系进行分组。(分组原则是“值”一样的为一组)

(4)考虑被除关系中已分好的每一元组,如果它的象集包含目标数据集(投影结果),

R S

R÷S A a1


关系代数表达式总结-数据库(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:混 凝 土 原 材 料 检验批质量验收记录

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219