学生成绩管理数据库的建立
课程名称: 数据库系统原理 设计题目: 学生成绩管理数据库的建立 指导教师: 时 间: 2010 , 2011 学年第 二 学期
南京人口学院信息科学系
学生成绩管理数据库的建立
构建一个教学管理关系数据库如下:
学生(学号,姓名,性别,年龄,籍贯,班级代号) 课程(课程号,课程名称,学分数,教师代号)
成绩(学号,课程号,成绩,考试时间)
教师(教师代号,姓名,性别,年龄,职称)
为方便起见,上述关系用英文字母
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示如下:
S(SNO,NAME,SEX,AGE,JG,CLASSNO) C(CNO,CNAME,XF,TNO)
G(SNO,CNO,GRADE,DATE)
T(TNO,NAME,SEX,AGE,ZC)
上述关系模式中,带下划线的属性为各自关系的关键字,其中学生表输入20条
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
;课程表输入10条记录;成绩表输入100条记录;教师表入5条记录。基于这些关系表,做如下查询:
(1) 找出男性学生的姓名
(2) 找出不是“2031”班的学生 课程设计题目
(3) 查询“李峰”老师所教课程的课程名称和学分 (4) 检索出选修了课程代号为“c11”和“c23”课程的学生 (5) 查询至少选修了一门“李峰”老师的课程的学生姓名 (6) 求选修了课程名为“数据库原理”的所有学生的学号和姓名 (7) 找出学生代号为“S101”和“S102”两个学生都选修了的课程 (8) 检索出没有被任何学生选修的课程
(9) 求出每个学生的成绩的平均分和总分
(10) 求至少三门以上课程成绩在90分以上的学生学号 (11) 求获得学分数在200以上的学生
(12) 求出少于10个学生选修的课程
(13) 求出有四门课程考试不及格的学生的姓名
(14) 求出每个老师所教课程的学分总数
(15) 求出教了三门课以上的老师
(16) 求出只教一门课程的老师
(17) 求出每一个班级中每一门课程获得最高分的学生的学号
1
课程设计目的及要求:
目的:
通过本次对数据库的设计,了解其设计的基本思想方法,熟悉数据库的运行环境,能够独立编写小型的数据库程序,通过数据库系统应用课题的实践,进一步提高分析问题解决问题的能力及软件开发过程的能力。
要求:
1、正确建立完善的数据库表信息;
2、能够使用SQL语言正确写出查询语句;
3、能够利用查询设计器建立查询;
2
课程设计详细内容: 1、 数据库表:
1)学生表:
2)课程表
3)成绩表
4)教师表
3
2、查询
1)SQL语句:SELECT S.NAME FROM S WHERE ((s.sex="男"));
查询结果:
2)SQL语句:SELECT S.* FROM S WHERE (((S.CLASSNO) Not Like "2031")); 查询结果:
3)SQL语句:SELECT C.CNAME, C.XF, C.TNO
FROM C
WHERE (((C.TNO) Like "1"));
查询结果:
4
4)SQL语句:SELECT S.*
FROM S INNER JOIN G ON S.SNO=G.SNO
WHERE G.CNO Like 'c11' And EXISTS(SELECT * FROM G AS G2
WHERE G.SNO=G2.SNO AND G2.CNO Like 'c23' ); 查询结果:
5)SQL语句:SELECT S.NAME, S.SNO
FROM (S INNER JOIN G ON S.SNO = G.SNO) INNER JOIN C ON G.CNO = C.CNO
WHERE (((G.CNO)="c11" Or (G.CNO)="c12" Or (G.CNO)="c21"))
GROUP BY S.NAME, S.SNO;
查询结果:
6)SQL语句:SELECT S.NAME, S.SNO
FROM S INNER JOIN G ON S.SNO = G.SNO
WHERE (((G.CNO)="c13"));
查询结果:
5
7)SQL语句:
SELECT S.SNO, G.CNO, C.CNAME
FROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON G.CNO=C.CNO WHERE (((S.SNO) Like 's101') AND ((Exists (SELECT * FROM G AS G2 WHERE G.CNO=G2.CNO AND
G2.SNO LIKE 's102'))<>False));
查询结果:
8)SQL语句:SELECT C.* FROM C
WHERE (((C.CNO) Not In (SELECT G.CNO FROM G))); 查询结果:
9)SQL语句:
SELECT S.SNO, Avg(G.GRADE) AS GREAT之平均值, Sum(G.GRADE) AS GREAT之总计 FROM S INNER JOIN G ON S.SNO=G.SNO
GROUP BY S.SNO;
查询结果:
10)SQL语句:SELECT S.NAME, S.SNO, Count(G.GRADE) AS GRADE之计数
FROM S INNER JOIN G ON S.SNO=G.SNO
WHERE (((G.GRADE)>"90"))
GROUP BY S.NAME, S.SNO
HAVING (((Count(G.GRADE))>2));
6
查询结果:
11)SQL语句:
SELECT S.SNO, S.NAME, Sum(G.GRADE) AS GREAT之总计 FROM S INNER JOIN G ON S.SNO=G.SNO
GROUP BY S.SNO, S.NAME
HAVING Sum(G.GRADE)>200;
查询结果:
12)SQL语句:
SELECT C.CNAME, C.CNO, Count(G.GRADE) AS GRADE之计数 FROM (S INNER JOIN G ON S.SNO = G.SNO) INNER JOIN C ON G.CNO = C.CNO
GROUP BY C.CNAME, C.CNO
HAVING (((Count(G.GRADE))<10));
查询结果:
13)SQL语句:SELECT S.NAME, Count(G.GRADE) AS GRADE之计数
FROM S INNER JOIN G ON S.SNO=G.SNO
WHERE (((G.GRADE)<"60"))
GROUP BY S.NAME
HAVING (((Count(G.GRADE))=4));
7
查询结果:
14)SQL语句:SELECT C.TNO, T.NAME, Sum(C.XF) AS XF之总计
FROM C INNER JOIN T ON C.TNO=T.TNO
GROUP BY C.TNO, T.NAME;
查询结果:
15)SQL语句:SELECT T.NAME, T.TNO, Count(C.CNO) AS CNO之计数
FROM T INNER JOIN C ON T.TNO = C.TNO
GROUP BY T.NAME, T.TNO
HAVING (((Count(C.CNO))>=3)); 查询结果:
16)SQL语句:SELECT T.NAME, T.TNO, Count(C.CNO) AS CNO之计数
FROM T INNER JOIN C ON T.TNO=C.TNO
GROUP BY T.NAME, T.TNO
HAVING (((Count(C.CNO))=1));
查询结果:
17)SQL语句:
SELECT S.CLASSNO, G.CNO, Max(G.GRADE) AS GRADE之最大值 FROM S INNER JOIN G ON S.SNO = G.SNO
GROUP BY S.CLASSNO, G.CNO;
8
查询结果:
注:可另附页
9
课程设计
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
及体会:
通过本次对关系数据库系统的设计,使我基本了解了有关关系数据库设计的基本思想方法,知道了如何在利用ACCESS的环境下创建数据库,包括正确建立完善的数据库表信息,使用SQL语言正确写出查询语句,利用查询设计器建立查询等基本技能。也使我能够独立完成数据库表的创建,对数据的分析以及按要求建立相应的查询,并且更加熟悉了对SQL语言的使用。通过本次数据库系统课题的实践,进一步提高了我的分析问题解决问题的能力。
学生(签字)
_年__月__日
10
指导教师评语:
课程设计成绩:
指导教师(签字)_______________
_____年_____月_____日
教研室意见:
教研室主任(签字)
_____年_____月_____日
11