数据库关系代数

数据库关系代数,第1张

第一步:在"教师"表中选出姓名为刘杰老师的记录

σ 姓名=刘杰(教师)

第二步:将选出来的刘杰老师记录与“课程”表相连接。(可以获得刘杰老师开设了哪些课程)

σ 姓名=刘杰(教师)∞ 课程

第三步接着,投影出“学生”表中的姓名和系别,与“学生”表格相连接。(可以获得选了刘杰老师开设的课程的学生的系别和学号

σ 姓名=刘杰(教师)∞ 课程 ∞ π 姓名,系别(学生)

study(sno,cno,score)查询至少选修了两门课程的学生学号:π1(σ(1=4Λ2!=5)(study x study))。

select sno(学生的学号) from sc(学生选课表)

group by sno having count()>1

select a学号,b姓名,acnt as 选修门数 from

(select 学号,count(1) as as cnt from 选课表 group by 学号

having count(1)=(select count(1) from 课程表)) a,

学生表 b where a学号=b学号;

扩展资料:

关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:

R-S={t|t∈R∧t∉S}

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:

R∩S={t|t∈R∧t∈S}

这里的笛卡尔积严格地讲是广义笛卡尔积(Extended Cartesian Product)。在不会出现混淆的情况下广义笛卡尔积也称为笛卡尔积。

两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。

参考资料来源:百度百科-关系代数

∏ sno,pno,jno(spj)÷∏ sno,pno(σ sno='s1'(spj))

∏ sno,pno,jno(spj)从表spj中选出sno,pno,jno字段构成新表(集合A),

∏ sno,pno(σ sno='s1'(spj)) 先从表spj中筛选出sno=s1的记录,然后选出sno,pno字段构成新表(集合B),

÷你知道是什么意思吧,上面的÷就是由sno,pno,jno字段构成的集合A排除掉A中没有集合B的部分,留下有集合B的部分,所以你做对了

还有,你现在是在学ACCESS还是SQL SERVER啊,这是我以前做过的

以上就是关于数据库关系代数全部的内容,包括:数据库关系代数、数据库中用关系代数表达式,查询至少选修两门课程的学生的学号和姓名怎么写、高手赐教!数据库的关系代数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9784989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存