以文本方式查看主题 - 课外天地 李树青 (http://njcie.com/bbs/index.asp) -- 数据库系统原理课件 (http://njcie.com/bbs/list.asp?boardid=19) ---- 综合练习——学校信息管理 (http://njcie.com/bbs/dispbbs.asp?boardid=19&id=170) |
-- 作者:admin -- 发布时间:2006/4/25 16:37:24 -- 综合练习——学校信息管理 现需要为某学校开发一个本科生选课系统和学籍管理系统,按照该学校教学计划,本科生应至少修满选修课11个学分才能容许毕业,具体规则如下: 1)选课在大学3,4年级4个学期初进行,每门选修课学分为3~4个学分; 2)选课系统开放时,学生可以根据每年教师公开的开课清单选择课程(为简化问题暂时不考虑上课时间冲突,每门课学生容量不限),选课结束后再增加。 3)学期结束后教师将课程成绩填入成绩单(成绩为100记分,小于60分表示不及格) 4)对不及格的学生可以在以后进行重新选课(重修) 主要涉及的信息有:学号,学生姓名,年级(入学年),学生的专业,课程编号,课程名称,学期,成绩,学分,教师姓名,教师所在的系。 要求: 1)按照ER分析方法或者范式分析方法得出关系表结构。 2)请写出下列应用的SQL语句: ①”2002”级所有达到毕业要求的学生名单,并按年级专业学号排序; ②”2003”级 ”MIS”专业在”2005~2006”年上学期课程考试不及格的学生人数 ③列出”2002”级”MIS”专业每个学生的绩点成绩,绩点计算公式: |
-- 作者:admin -- 发布时间:2006/4/25 16:39:06 -- 示例数据库下载 直接解压文件,将数据库附加到sql server即可 点击下载(RAR文档)[此贴子已经被作者于2010-12-11 19:20:42编辑过]
|
-- 作者:admin -- 发布时间:2006/4/25 16:42:00 -- 参考答案 相应的表结构为: 学生(学号,学生姓名,年级,专业) 课程(课程编号,课程名称,学期,学分,教师号) 选修(学号,课程编号,成绩) 教师(教师号,教师姓名,教师所在的系) sql: 1) select min(name) from stu inner join grade on stu.number=grade.number inner join course on grade.cid=course.cid where stu.academicYear=2002 group by stu.number having sum(credit)>=11 order by min(academicYear),min(speciality),stu.number 2) select count(*) from stu inner join grade on stu.number=grade.number inner join course on grade.cid=course.cid where stu.academicYear=2003 and speciality=\'MIS\' group by stu.number having min(grade)<60 3) select min(name) , CEILING(convert(float,sum(credit*grade))/convert(float,sum(credit))) from stu inner join grade on stu.number=grade.number inner join course on grade.cid=course.cid where academicYear=2002 and speciality=\'MIS\' |