求帮忙做一道数据库题。对高手来说很简单的,帮帮忙,谢谢。
设有如下3个关系:S(Sid(学号),Sname(姓名),Age(年龄),Sex(性别))注:学号是主键。SC(Sid(学号),Cid(课程号),Score(成绩))注:...
设有如下3个关系:
S(Sid(学号), Sname(姓名),Age(年龄),Sex(性别)) 注:学号是主键。
SC(Sid(学号),Cid(课程号),Score(成绩)) 注:成绩以及课程号是主键。
C(CId(课程号),Cname(课程名),Teacher(教师)) 注:课程号是主键。
试用关系代数表达式表达下列查询,并且写出前4个的SQL查询语句;
(1)检索LIU老师所授课程的课程号和课程名。
(2)检索年龄大于23岁的男学生的学号和姓名。
(3)检索学号为S3学生所学课程的课程名与任课教师。
(4)检索至少选修LIU老师所授课程中一门课的女学生姓名。
(5)检索WANG同学不学的课程的课程号。
(6)检索至少选修两门课的学生学号。
(7)检索全部学生都选修的课程的课程号与课程名。
(8)检索选修课程包含LIU老师所授全部课程的学生学号。 展开
S(Sid(学号), Sname(姓名),Age(年龄),Sex(性别)) 注:学号是主键。
SC(Sid(学号),Cid(课程号),Score(成绩)) 注:成绩以及课程号是主键。
C(CId(课程号),Cname(课程名),Teacher(教师)) 注:课程号是主键。
试用关系代数表达式表达下列查询,并且写出前4个的SQL查询语句;
(1)检索LIU老师所授课程的课程号和课程名。
(2)检索年龄大于23岁的男学生的学号和姓名。
(3)检索学号为S3学生所学课程的课程名与任课教师。
(4)检索至少选修LIU老师所授课程中一门课的女学生姓名。
(5)检索WANG同学不学的课程的课程号。
(6)检索至少选修两门课的学生学号。
(7)检索全部学生都选修的课程的课程号与课程名。
(8)检索选修课程包含LIU老师所授全部课程的学生学号。 展开
5个回答
展开全部
1.πCId,Cname(σ Teacher='LIU'(C))
select cid,cname from C where Teacher = 'LIU'
2.πSid,Sname(σ Age>23∧Sex='男'(S))
select Sid,Sname from S where age>23 and sex='男'
3.πCname,Teachre(σ Sid = 'S3' (C×SC))
select c.Cid, Cname,Teachre from SC s, C c
where Sid = 'S3' and s.cid = c.cid
4.πSname(σ Sex = '女' ∧Teacher='LIU' (S×C×SC))
select Sname from S s
where exists(select 1 from SC sc,C c where c.Teacher='LIU' and sc.Cid = c.Cid and s.Sid=sc.Sid) and s.sex ='女'
5.πCId(SC)-πCId(σ Sname='WANG'(S×SC))
6.π1(σ1=4∧2≠5(SC×SC))
7.πCId,Cname(C×(πSid,Cid(SC)÷πSid(S)))
8.πSid,Cid(SC)÷ πCid(σ Teacher = 'LIU'(SC×C))
select cid,cname from C where Teacher = 'LIU'
2.πSid,Sname(σ Age>23∧Sex='男'(S))
select Sid,Sname from S where age>23 and sex='男'
3.πCname,Teachre(σ Sid = 'S3' (C×SC))
select c.Cid, Cname,Teachre from SC s, C c
where Sid = 'S3' and s.cid = c.cid
4.πSname(σ Sex = '女' ∧Teacher='LIU' (S×C×SC))
select Sname from S s
where exists(select 1 from SC sc,C c where c.Teacher='LIU' and sc.Cid = c.Cid and s.Sid=sc.Sid) and s.sex ='女'
5.πCId(SC)-πCId(σ Sname='WANG'(S×SC))
6.π1(σ1=4∧2≠5(SC×SC))
7.πCId,Cname(C×(πSid,Cid(SC)÷πSid(S)))
8.πSid,Cid(SC)÷ πCid(σ Teacher = 'LIU'(SC×C))
展开全部
1. select cid,cname
from C
where Teacher = 'LIU'
2. select Sid,Sname
from S
where age>23
3. select c.Cid, Cname,Teachre
from SC s, C c
where Sid = 'S3' and s.cid = c.cid
4. select Sname
from S s, SC sc, C c
where c.Teacher='LIU' and s.sex ='女' and sc.Cid = c.Cid
5. select distinct(cid)
from SC sc, S s
where s.Sname = 'WANG' and sc.Sid = s.Sid
6. select s.Sid, count(cid)
from SC sc, S s
where s.Sid = sc.Sid
group by sid
having count(cid)>=2
7.
8. select s.sid
from SC sc, S s, C c
where s.Teacher = 'LIU' and sc.sid = s.sid and c.cid= sc.cid
from C
where Teacher = 'LIU'
2. select Sid,Sname
from S
where age>23
3. select c.Cid, Cname,Teachre
from SC s, C c
where Sid = 'S3' and s.cid = c.cid
4. select Sname
from S s, SC sc, C c
where c.Teacher='LIU' and s.sex ='女' and sc.Cid = c.Cid
5. select distinct(cid)
from SC sc, S s
where s.Sname = 'WANG' and sc.Sid = s.Sid
6. select s.Sid, count(cid)
from SC sc, S s
where s.Sid = sc.Sid
group by sid
having count(cid)>=2
7.
8. select s.sid
from SC sc, S s, C c
where s.Teacher = 'LIU' and sc.sid = s.sid and c.cid= sc.cid
更多追问追答
追问
所有都要用关系代数表达式,前四个需带有SQL语句,请谅解谢谢。 @_@
追答
那不是也很简单么。。。selet 就是 π ,join 就是一个▷◁ and 就是∧, or 就是∨
where 的地方就是σ
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
网络真好啊..学生都不用做功课了..直接在网上等答案啊...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
围观
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询