数据库,用关系代数完成下面的查询

数据库,用关系代数完成下面的查询,第1张

查询1:查询年龄大于30的水手的名字。

查询2:找出在1998年11月1号之前有预定记录的水手编号。

查询3:找出红色船只的编号和名称。

查询4:找出预订了103号船只的水手的名字。

查询5:找出至少预订了一艘船只的水手的名字。

查询6:找出预订了红色船只的水手的名字。

查询7:找出Lubber预订的船只的颜色。

查询8:找出预订了一艘红色船只或者绿色船只的水手的名字。

查询9:找出同时预订了一艘红色船只和绿色船只的水手的名字。(交集)

查询10:找出年龄在20岁以上而且没有预定一艘红色船只的水手的sid。(差集)

查询11:找出所有预订了名为Interlake船只的水手的名字。

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个元组。

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

填坑。

逻辑:

先筛选出所有3班的学生(后面说学生表都指的是这个筛选后的结果,不做赘述)。将这张表与自己内连接,筛选条件是左边学生的成绩小于右边学生的成绩,这样得到的新的表中左边就是”‘存在另一个学生的成绩比他好’的学生“,再用3班所有的学生表减去这个新得到的表,就是”‘不存在另一个学生的成绩更好’的学生“,也就是”成绩最好的学生了“。

关系代数:

用来演示的数据库:

关系代数语句:

R = (σ class = 3 (Student))

(π name, grade (R)) - (π R1name, R1grade ((ρ R1 R) ⨝ R1grade < R2grade (ρ R2 R)))

运行结果:

很明显,得到的结果跟预想中的一致,是Derta酱。也就说明我们的表达式没有问题了。

1,πsno,sname(σ height>‘18米’ (S))

2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))

3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?我用join代替)join SC join S))

4,πsno,sname(σ grade>=‘90’ (S join SC))

5πsname(σ credit>‘3’(C join S)

家庭作业吗? 根据书本比葫芦画瓢都能做出来

投影(projection)

关系R的投影运算是从R中选择某些属性的所有值组成的新关系。换言之,投影运算的结果是一个表的垂直方向的子集。关系R的投影运算记为:πA(R)。其中,A为R的一组属性列。投影的结果将消除重复的元组。

选择(selection)

关系R的选择运算是从关系R中选择满足指定条件(用F表示)的元组构成的新关系。换言之,选择运算的结果是一个表的水平方向的子集。关系R的选择运算记为:σF(R)。

其中,F是包括属性名的逻辑表达式,运算符有算术比较运算符:<,≤,>,≥,=,≠,和逻辑运算符:¬¬┐,∨,∧(非、或、与)。

连接(join)

连接运算是关系的二目运算。关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件(称为连接条件,记为AθB)的元组形成一个新关系。

除(divide)

设关系R的属性可以分成互不相交的两组,用X、Y表示(X∩Y为空集,X∪Y为R的全部属性),则关系R可以表示为:R(X,Y)。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存