1、南邮数据库实验报告南京邮电大学课内实验报告课 程 名: 数据库原理与应用 任课教师: 程录庆 专 业: 信息管理与信息系统 学 号: B13111513 姓 名: 解一涵 二一四 至二一五年度 第二学期 南京邮电大学 管理学院数据库原理与应用课程实验报告实验内容及基本要求: 实验项目名称:学生成绩管理数据库的建立实验类型:上机实验实验内容及要求:1、构建一个教学管理关系数据库如下:学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号)成绩(学号,课程号,成绩,考试时间)教师(教师代号,姓名,性别,年龄,职称)为方便起见,上述关系用英文字母表示如下:S(SNO,
2、NAME,SEX,AGE,JG,CLASSNO)C(CNO,CNAME,XF,TNO)G(SNO,CNO,GRADE,DATE)T(TNO,NAME,SEX,AGE,ZC)2、上述关系模式中,带下划线的属性为各自关系的关键字,其中学生表输入20条记录;课程表输入10条记录;成绩表输入100条记录;教师表入5条记录。基于这些关系表,做如下查询:(1) 找出男性学生的姓名(2) 找出不就是“2031”班的学生(3) 查询“李峰”老师所教课程的课程名称与学分(4) 检索出选修了课程代号为“c11”与“c23”课程的学生(5) 查询至少选修了一门“李峰”老师的课程的学生姓名(6) 求选修了课程名为“数
3、据库原理”的所有学生的学号与姓名(7) 找出学生代号为“S101”与“S102”两个学生都选修了的课程(8) 检索出没有被任何学生选修的课程(9) 求出每个学生的成绩的平均分与总分(10) 求至少三门以上课程成绩在90分以上的学生学号(11) 求获得学分数在200以上的学生(12) 求出少于10个学生选修的课程(13) 求出有四门课程考试不及格的学生的姓名(14) 求出每个老师所教课程的学分总数(15) 求出教了三门课以上的老师(16) 求出只教一门课程的老师(17) 求出每一个班级中每一门课程获得最高分的学生的学号实验结果:1、 数据库表(1)学生表(2)课程表(3)成绩表(4)教师表2、查
4、询结果及SQL语言(1)找出男性学生的姓名SELECT NAMEFROM SWHERE XB=男;(2)找出不就是“2031”班的学生SELECT *FROM SWHERE SNO NOT IN(SELECT SNOFROM SWHERE CLASSNO=B131115);(3)查询“李峰”老师所教课程的课程名称与学分SELECT CNAME, XFFROM T, CWHERE NAME=李峰 And T、TNO=C、TNO;(4)检索出选修了课程代号为“c11”与“c23”课程的学生SELECT SNOFROM GWHERE CNO In (1,2);(5)查询至少选修了一门“李峰”老师的课
5、程的学生姓名SELECT S、NAME, S、SNOFROM (S INNER JOIN G ON S、SNO=G、SNO) INNER JOIN C ON G、CNO=C、CNOWHERE G、CNO=6 Or G、CNO=7GROUP BY S、NAME, S、SNO;(6)求选修了课程名为“数据库原理”的所有学生的学号与姓名SELECT S、SNO, S、NAMEFROM S INNER JOIN G ON S、SNO=G、SNOWHERE (G、CNO)=1);(7)找出学生代号为“S101”与“S102”两个学生都选修了的课程SELECT S、SNO, G、CNO, C、CNAMEF
6、ROM (S INNER JOIN G ON S、SNO=G、SNO) INNER JOIN C ON G、CNO=C、CNOWHERE S、SNO LIKEB13111502 AND Exists (SELECT* FROM G AS G2 WHERE G、CNO=G2、CNO AND G2、SNO LIKEB13111510)False;(8)检索出没有被任何学生选修的课程SELECT *FROM CWHERE C、CNO NOT IN (SELECT G、CNO FROM G);(9)求出每个学生的成绩的平均分与总分SELECT S、SNO, Avg(G、GRADE) AS 平均分, S
7、um(G、GRADE) AS 总分FROM S INNER JOIN G ON S、SNO=G、SNOGROUP BY S、SNO;(10)求至少三门以上课程成绩在90分以上的学生学号SELECT S、NAME, S、SNO, Count(G、GRADE) AS GRADE之计数FROM S INNER JOIN G ON S、SNO=G、SNOWHERE (G、GRADE)90)GROUP BY S、NAME, S、SNOHAVING (COUNT(G、GRADE)2);(11)求获得学分数在200以上的学生SELECT S、SNO, S、NAME, Sum(G、GRADE) AS GREA
8、T之总计FROM S INNER JOIN G ON S、SNO=G、SNOGROUP BY S、SNO, S、NAMEHAVING Sum(G、GRADE)200;(12)求出少于10个学生选修的课程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、CNOGROUP BY C、CNAME, C、CNOHAVING (Count(G、GRADE)10);(13)求出有四门课程考试不及格的学生的姓名SELECT S、NAME,
9、Count(G、GRADE) AS GRADE之计数FROM S INNER JOIN G ON S、SNO=G、SNOWHERE (G、GRADE)=3);(16)求出只教一门课程的老师SELECT T、NAME, T、TNO, Count(C、CNO) AS CNO之计数FROM T INNER JOIN C ON T、TNO=C、TNOGROUP BY T、NAME, T、TNOHAVING (Count(C、CNO)=1); (17)求出每一个班级中每一门课程获得最高分的学生的学号SELECT S、CLASSNO, G、CNO, Max(G、GRADE) AS 最高分FROM S INNER JOIN G ON S、SNO=G、SNOGROUP BY S、CLASSNO, G、CNO;成绩评定:该生对待本次实验的态度 认真 良好 一般 比较差。本次实验的过程情况 很好 较好 一般 比较差对实验结果的分析 很好 良好 一般 比较差文档书写符合规范程度 很好 良好 一般 比较差综合意见:成绩指导教师签名程录庆日期2014-4-24
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1