【数据库】作业二

  1. sno(σcno=c001(T))
  2. sno,sn((sno(σdept=CS(CT)))S)
  3. 取得选修过体育课的同学学号
    R=sno(σcn=PE(CT))

    查询选修过体育课的同学的姓名和院系
    sn,dept(RS)

    查询没有选修过体育课的同学的姓名和院系
    sn,dept(S)sn,dept(RS)

    代入得
    sn,dept(S)sn,dept((sno(σcn=PE(CT)))S)

  4. 取得所有学生的学号和姓名
    sno,sn(S)

    取得每个课程对应的课程号,学号,姓名,院系
    R=cno,sno,dept,sn(TS)

    取得选修过非本院系课程的学生的学号和名字

    sno,sn(σS.deptC.dept(RT.cno=S.cnoC))

    得到之选修过学生自己所在院系开色号的课程的学号和姓名

    sno,sn(S)sno,sn(σS.deptC.dept(RT.cno=C.cnoC))

    =sno,sn(S)sno,sn(σS.deptC.dept((cnp,sno,dept,sn(TS))T.cno=S.cnoC))

  5. 取得c009的所有前导课程号
    R=pno(σcno=c009(P))

    得到选修了所有前导课程的同学学号
    sno,cno(T)÷R (其中令pno等于cno)

    最后得到这些同学的学号和姓名
    sno,sn(S(sno,cno(T)÷R))

    =sno,sn(S(sno,cno(T)÷(pno(σcno=c009(P)))))

  6. 所有成绩都及格的同学的学号
    R=sno(T)sno(σg<60(R))

    计算机系所有课程的课程号
    cno(σdept=CS(C))

    选修过计算机系所有课的同学的学号
    W=sno,cno(T)÷cno(σdept=CS(C))

    所有成绩都及格(成绩≥60),且选修过‘计算机’系开设的所有课程的学生的学号

    RW=(sno(T)sno(σg<60(R)))(sno,cno(T)÷cno(σdept=CS(C)))

  7. 投影所有课程号的所有分数
    R1=cno,g(T)

    查询各课非最高分的课程号对应的分数:令S = T

    R2=cno,g(σT.g<S.gT.cno=S.cno(T×S))

    最后得到各课称号与他对应的最高分分数

    MAX=R1R2=cno,g(T)cno,g(σT.g<S.gT.cno=S.cno(T×S))

    同理得到各课称号与他对应的最低分分数

    MIN=cno,g(T)cno,g(σT.g>S.gT.cno=S.cno(T×S))

    最后合并一下
    MAXMAX.cno=MIN.cnoMIN

    =cno,g(T)cno,g(σT.g<S.gT.cno=S.cno(T×S))MAX.cno=MIN.cnocno,g(T)cno,g(σT.g>S.gT.cno=S.cno(T×S))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值