一、要求一
ER 图
第三次作业
关系模式:
1. 课程关系模型:课程(课程号、课程名、学分、课程类型)
course(cno(int)
键:cno
cname(varchar)
cscore(int)
ctype(varchar))
2. 院系关系:院系(系号、系名)
dpt(dno(int) dname(varchar))
键:dno
3. 学生关系:学生(学号、学生姓名、性别、出生日期、所在系号)
student(sno(int)
键:sno
外键:dno
sex(char) date(date) dno(int))
sname(varchar)
4. 教师关系:教师(教师编号、教师姓名、教师职称、所属系号)
teacher(tno(int)
键:tno
外键:dno
ttitle(varchar) dno(int))
tname(varchar)
5. 选课关系:选课(课程号、学号、任课教师编号、成绩)
sc(cno(int)
键:cno sno
外键:cno、sno
score(float))
sno(int)
tno(int)
6. 教课关系:教课(教师编号、课程编号)
teach(tno(int)
键:tno sno
外键:tno、sno
cno(int))
二、要求二
1. 给出学生名,查询学生所选的所有课程名、成绩,累计学分。
以学生张静初为例:
select cname,score from student,sc,course where sname="张静初" and student.sno=sc.sno and
sc.cno=course.cno
select sum(cscore) from student,sc,course where sname="张静初" and student.sno=sc.sno and
sc.cno=course.cno group by sname
2. 给出课程名,查询学生的平均成绩
以课程“模式识别”为例:
select avg(score) from course,sc where course.cno=sc.cno and cname="模式识别"
3.各门课按平均成绩排序
select cname,avg(score) from sc,course where sc.cno=course.cno group by cname order by
avg(score)
4.显示所有的课程名和讲课教师名
cname,tname
select
teacher.tno=teach.tno
from course,teacher,teach where
course.cno=teach.cno
and