1、重庆交通大学计算机与信息学院课程设计实践课任务书重庆交通大学计算机与信息学院课程设计(实践课)任务书课 程数据处理技术基础班级软件开发方向11级信息技术方向11级指导教师王家伟题 目学生成绩管理完成时间2012年9月至2012年11月23日主要内容题目:学生成绩管理现有某学校需要完成学生成绩的管理,具体信息如下:1 学生信息:学号(sno)、姓名(sname)、性别(sex)、出生日期(birthday)、民族(Nation)2 课程信息:课程代码(cno)、课程名称(cname)、学分(credit)3 学生成绩:学号(sno)、课程代码(cno)、成绩(score)具体要求见附页设计报告要
2、求1封面:(格式附后)2课程设计任务书3课程设计报告: 根据附页中的具体要求完成各个题目,各个题目只记录相关的SQL语句,并将所有的SQL语句按照题目顺序放入设计报告中; 将最终结果(三个表的数据)用图片方式放在您的设计报告中;心得体会和参考资料说明:1 学生完成课程设计后,提交课程设计报告,要求文字通畅、字数不少于3000 字,打印设计报告并装订成册。2 设计报告在2012年11月23日前完成;3 所有内容每位同学独立完成,若有雷同,双方成绩均以0分计。版面要求1 题目用黑体三号,段后距18磅(或1行),居中对齐;2 标题用黑体四号,段前、段后距6磅(或0.3行);3 正文用小四号宋体,行距
3、为1.25倍行距;4 标题按“一”、“”、“1”、“”顺序编号。指导时间安排星期周次一二三四五六日第2周5-8节第9周5-8节指导地点双福软件实验室附页:具体要求在SQL SERVER2000中完成:1 建立数据库:数据库名为:STUDENT+学号您自己的学号(本步骤可以在SQL SERVER的可视化界面完成,但必须说明操作的步骤); create database STUDENT631106050124on( name=STUDENT631106050124, filename=f:数据库处理技术基础任务书STUDENT631106050124STUDENT631106050124.mdf,
4、 size=3, maxsize=20, filegrowth=1)log on( name=STUDENT631106050124Log, filename=f:数据库处理技术基础任务书STUDENT631106050124STUDENT631106050124.ldf, size=1, maxsize=5, filegrowth=1)2 根据题目内容要求建立本数据的表,表名分别为:(1) 学生信息表名为:s+学号您自己的学号create table s6*0124( sno char(12) not null primary key , sname varchar(10) not null
5、 , sex char(2) not null , birthday datetime not null , nation char(3) not null) (2) 课程信息表名为:c+学号您自己的学号create table c631106050124( cno char(10) not null primary key, cname varchar(10) not null, credit char(8) not null) (3) 成绩信息表名为:sc+学号您自己的学号create table sc631106050124( sno char(12) not null, cno cha
6、r(10) not null, score int not null, primary key(sno,cno), /* 主码由两个属性构成,必须作为表级完整性进行定义*/ foreign key (Sno) references s631106050124 (Sno) /* 表级完整性约束条件,Sno是外码,被参照表是S*/ )注意:必须采用SQL语言完成,需要实现各表的完整性规则,如主码、外码和自己定义的规则(如性别只能取男或者女);3 录入各表的内容(必须用SQL语言实现):表1学生信息snosnamesexbirthdayNation08010101张三男1992-05-02汉0805
7、0412李孟才男1991-08-09藏08060945王珊珊女1993-08-29汉08110207杨彤女1994-05-30汉insert into s6*0124(sno,sname,sex,birthday,nation) values (08010101,张三,男,1992-05-02,汉)insert into s6*0124(sno,sname,sex,birthday,nation) values (08050412,李孟才,男,1991-08-09,藏)insert into s6*0124(sno,sname,sex,birthday,nation) values (0806
8、0945,王珊珊,女,1993-08-29,汉)insert into s6*0124(sno,sname,sex,birthday,nation) values (08110207,杨彤,女,1994-05-30,汉)表2:insert into c631106050124(cno,cname,credit) values (080601,c语言,3)insert into c631106050124(cno,cname,credit) values (080602,数据结构,4)insert into c631106050124(cno,cname,credit) values (0806
9、03,数据库原理,4)insert into c631106050124(cno,cname,credit) values (080604,操作系统,4)insert into c631106050124(cno,cname,credit) values (080605,编译原理,3.5)表2 课程信息 表3 成绩信息Cnocnamecredit080601C语言3080602数据结构4080603数据库原理4080604操作系统4080605编译原理3.5snocnoscore0801010108060180080101010806027908010101080603650806094508
10、06019808060945080604890805041208060185080504120806028608110207080602650811020708060554表3:insert into sc631106050124(sno,cno,score) values (08010101,080601,80)insert into sc631106050124(sno,cno,score) values (08010101,080602,79)insert into sc631106050124(sno,cno,score) values (08010101,080603,65)inse
11、rt into sc631106050124(sno,cno,score) values (08060945,080601,98)insert into sc631106050124(sno,cno,score) values (08060945,080604,89)insert into sc631106050124(sno,cno,score) values (08050412,080601,85)insert into sc631106050124(sno,cno,score) values (08050412,080602,86)insert into sc631106050124(s
12、no,cno,score) values (08110207,080602,65)insert into sc631106050124(sno,cno,score) values (08110207,080605,54)4 请用SQL语言完成如下查询要求:(1) 查询所有的学生;select * from s6*0124(2) 查询年龄大于23岁的男学生;select * from s6*0124 where YEAR(GETDATE()-YEAR(birthday)23 and sex like 男(3) 查询所有姓杨且为藏族的学生;select * from s6*0124 where s
13、name=杨% and nation like 藏(4) 查询不及格的学号,课程代码,课程名称,成绩;select a.sno,o,cname,scorefrom s6*0124 a, c631106050124 b, sc631106050124 cwhere a.sno=c.sno and o=o and score3.5 and score=60(6) 查询所有学生的所有成绩,包含学号、姓名、性别、课程代码、课程名称、成绩;select a.sno,a.sname,a.sex,o,cname,scorefrom s6*0124 a,c631106050124 b,sc6311060501
14、24 cwhere a.sno=c.sno and o=o(7) 统计选课的人次和人数;select count(sno)选课人次 from sc631106050124select count(distinct sno) 选课人数 from sc631106050124(8) 统计每位同学的总分、平均分、最高分、最低分;select sum(score) 总分,avg(score) 平均, max(score) as 最高,min(score) as 最低 from sc631106050124 group by sno(9) 查询没有选课的学生信息;select a.sno,a.sname
15、,a.sex, a.birthday,a.nationfrom s6*0124 a, sc631106050124 bwhere a.sno=b.sno and a.sno not in (b.sno)(10) 查询选修了全部课程的学生信息;select * from s631106050124where sno in(select sno from sc631106050124 group by snohaving count(*)=5)(11) 查询成绩最高的学生学号、姓名、课程代码、课程名称、成绩;select TOP 1 a.sno,a.sname,o,ame,scorefrom s6
16、*0124 a,c631106050124 b,sc631106050124 cwhere a.sno=c.sno and o=oorder by score desc(12) 查询选修操作系统课程的专业代码为07的学生信息(其中:学号的第3、4位为专业代码)。select a.sno,a.sname,a.sex,a.birthday,a.nationfrom s6*0124 a,c631106050124 b,sc631106050124 cwhere a.sno=c.sno and o=o and ame like 操作系统 and a.sno like _07%5 用SQL语言完成如下要
17、求:(1)删除学号为“08110207”的所有课程;delete from sc631106050124 where sno like 08110207(2)删除没有选课的学生信息;delete from s6*0124 where sno not in(select sno from sc631106050124) (3)将学号为“08050412”的学生信息更新为您自己的信息。update s6*0124set sno=631106050124,sname=陈焕然,birthday=1993-03-29,sex=男,nation=汉 where (sno=08050412)update s
18、c631106050124 set sno=631106050124 where (sno=08050412)(4)删除姓名为“王珊珊”的学生信息;delete from s631106050124 where sname=王珊珊(5)将姓名为“杨彤”的民族修改为“藏”。update s6*0124 set nation=藏where sname =杨彤6 谈谈您在第3、5步操作过程中遇到什么问题?如何解决这些问题的?7 操作结果记录:在第5步完成之后,将3个表的数据分别查询出来,将3个表的查询结果用图片方式放到您的设计报告之中。重庆交通大学信息科学与工程学院课程设计报告书专 业:课程设计名称:数据处理技术基础题 目:学生成绩管理班 级:学 号:姓 名:指 导 教 师:完 成 时 间:成绩:注:1 以上表格必须保留2 以下是正文内容