mysql关系模式作业

1、设教学数据库中有4个关系
 教师关系T(T#,TNAME,TITLE)
 课程关系C(C#,CNAME,T#)
 学生关系S(S#,SNAME,AGE,SEX)
 选课关系SC(S#,C#,SCORE)
使用关系代数 表达式和SQL语言来表示各个查询语句
(1)检索年龄小于17岁的女学生的学号和姓名
Πs,sname(δage<17(S))
Select s,sname from s where age<17;
(2)检索男同学所学的课程号和课程名
Πc,cname(δc=πc(δs.sex=‘男’(s∞sc))(C))
Select c,cname from c where c.c=(select c from s,sc where s.s=sc.s and s.sex=’男’);
(3)检索男同学所学课程的任课老师的职工号和姓名
Πt,tname(δc.t=Πt(δc.c=(Πsc.c(δs.sex=’男‘(s∞sc)))©)(t))
Select t.t,tname from t where c.t=(select c.t from c where c.c=(select sc.c from s,sc where s.s=sc.s and s.sex=’男’));
(4)检索至少选修了两门课程的学生的学号
Πs(δ1=4^2!=5(sc*sc))
Select s from (select * from sc a,sc b where a.s=b.s and a.c!=b.c) x;
(5)检索至少有学号为S2和S4的学生选修的课程的课程号
Πc(sc÷(δs=s2^s=s4(s)))
Select sc.c from sc ,s where sc.s=c.s and (sc.s=s2 or sc.s=s4);
(6)检索至少王同学不学的课程的课程号
Πc(δs!=’王%‘(sc∞s));
Select c from sc,s where sc.s=c.s and sc.s!=’王%’;
(7)检索全部学生都选修的课程的课程号和课程名
Πc,cname( δc= Πc(sc÷s)(c));
Select c,cname from c where c.c=(select c from sc,s where not exists (select c from sc where sc.s=s.s))
(8)检索选修课程包含刘老师所授全部课程的学生的学号
Πs(δtname=’刘’(s∞sc∞c∞t));
Select s from s,sc,c,t where tname=’刘’ and s.s=sc.s and c.c=s.c and c.t=t.t;

你可能感兴趣的:(mysql关系模式作业)