课外天地 李树青学习天地数据库系统原理课件 → 综合练习——学校信息管理


  共有19525人关注过本帖树形打印复制链接

主题:综合练习——学校信息管理

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
综合练习——学校信息管理  发帖心情 Post By: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
  2楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
示例数据库下载  发帖心情 Post By:2006/4/25 16:39:06 [只看该作者]

直接解压文件,将数据库附加到sql server即可

点击下载(RAR文档)
[此贴子已经被作者于2010-12-11 19:20:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
参考答案  发帖心情 Post By: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'


 回到顶部