实验报告

更新时间:2024-01-16 13:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学号:08083500 班级:计08-6班 姓名:张溧溧 专业:计算机

实验一

实验目的:通过实验了解SQL语句的使用。

实验内容:使用SQL语句建立学生管理系统相关的表,同时完善各表的相关完整性约束。 学院(学院代码,学院名称)

学生(学号,姓名,性别,学院代码) 教师(教师号,教师姓名,学院代码) 课程(课程号,课程名,学时) 学习(学号,课程号,成绩) 开课(教师号,课程号) 实验代码:CREATE TABLE 教师

( 教师号 CHAR(8) PRIMARY KEY,

教师姓名 CHAR(8), 学院代码 CHAR(8));

CREATE TABLE 开课

( 教师号 CHAR(8),

课程号 CHAR(8),

PRIMARY KEY(教师号,课程号),

FOREIGN KEY(教师号) REFERENCES 教师(教师号), FOREIGN KEY(课程号) REFERENCES 课程(课程号));

CREATE TABLE 课程

( 课程号 CHAR(8) PRIMARY KEY,

课程名 CHAR(8), 学时 CHAR(8));

CREATE TABLE 学生

( 学号 CHAR(8) PRIMARY KEY,

姓名 CHAR(8), 性别 CHAR(2),

学院代码 CHAR(8));

CREATE TABLE 学习 ( 学号 CHAR(8), 课程号 CHAR(8), 成绩 CHAR(8),

PRIMARY KEY(学号,课程号),

FOREIGN KEY(学号) REFERENCES 学生(学号),

FOREIGN KEY(课程号) REFERENCES 课程(课程号));

CREATE TABLE 学院

( 学院代码 CHAR(8) PRIMARY KEY, 学院名称 CHAR(8)); 实验结果:

教师 教师号 教师姓名 学院代码 0101 闫敏 0102 刘辉 0103 徐浩 0104 刘军 0105 张亮 08 08 06 02 01 0106 辛壮壮 04 0107 葛静 0108 汪琳 0109 范露 0110 陈楠 03 05 06 07 课程 课程号 课程名 学时 1001 数据库 48 1002 操作系统 32 1003 微机原理 64 1004 英语 64 1005 马克思 32 1006 管理 1007 概率 1008 体育 28 32 28 学生 学号 姓名 性别 学院代码 080101 王影 女 08 080102 王梅 女 06 080103 张飞 男 01 080104 孙志鹏 男 02 080105 徐颖 女 07 080106 钱易蒙 男 03 080107 徐明 男 04 学生 学号 姓名 性别 学院代码 080108 郭娜 女 05 080109 陈烨 女 06 080110 王艳雨 女 07 080111 严飞 男 03 080112 唐金宝 男 08 学习 学号 课程号 成绩 080101 1001 89 080101 1002 90 080101 1003 91 080101 1004 83 080101 1007 92 080102 1004 86 080102 1005 75 080102 1008 88 080103 1004 78 080103 1005 80 080103 1006 82 080103 1007 77 080104 1007 95 080105 1004 87 080105 1006 83 080106 1001 82 080106 1007 95 080107 1007 86 080108 1004 64 080108 1005 70 080108 1006 71 080109 1004 80 080109 1007 79 080110 1004 90 080110 1007 69 080111 1004 78 学习 学号 课程号 成绩 080111 1007 80 080112 1001 86 080112 1002 85 080112 1003 90 080112 1004 84 学院 学院代码 学院名称 01 02 03 04 05 06 07 08 矿院 安全 资源 环测 文法 外文 化工 计算机 心得体会:通过这次实验,知道了怎样建表,以及对表的一些修改工作,SQL语句的一些

基本应用。

实验二

实验目的:通过这次实验来了解SQL语句的使用,以及各种查询的语句的使用。

实验内容:求选修了某个老师上课的学生,成绩在90分以上的姓名、课程名称和成绩;

求选修了某个老师所授全部课程的学生姓名和学院名称; 求没有选修某门课程的学生学号和姓名; 求至少选修了两门课程的学生学号; 求某门课程不及格学生姓名和考试成绩

求至少选修了与某个同学选修的课程相同的学生学号 求至少选修了某两门课程的学生姓名和学院名称。 查询某个同学没有选修的课程号和课程名 查询没有被任何学生选修的课程的课程号 求选修了全部课程的学生姓名

查询各学院某门课程的平均分,并按照成绩从高到低的顺序排列。 查询选修数据库原理课程的学生姓名和所在院系,结果按各院系排列,同时成绩从高到低排列。

求学时在30-45之间(含30和45)的课程的课程号和课程名称及授课教师。 检索选修数据库原理课程的最高分学生的姓名

查询选课人数超过50(根据情况自己定人数)人的课程的课程号及课程名。

实验代码:SELECT 姓名, 课程名, 成绩

FROM 学生, 学习, 开课, 课程

WHERE 开课.教师号='0101' AND 开课.课程号=学习.课程号 AND 课程.课程号=开课.课程号 AND 学习.学号=学生.学号 AND 成绩>'90';

SELECT 姓名, 学院名称

FROM 学生, 开课, 学习, 学院 WHERE 教师号='1003'

AND 开课.课程号=学习.课程号 AND 学习.学号=学生.学号

AND 学生.学院代码=学院.学院代码;

SELECT DISTINCT 学生.学号, 姓名 FROM 学生, 学习

WHERE 学生.学号 NOT IN ( SELECT 学号 FROM 学习

WHERE 课程号='1003') AND 学生.学号=学习.学号; SELECT 学号 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 学习 GROUP BY 学号

HAVING COUNT (课程号)>=3);

SELECT 姓名, 成绩 FROM 学生, 学习

WHERE 学习.课程号='1003' AND 学习.学号=学习.学号 AND 成绩<'60';

SELECT DISTINCT 学号 FROM 学习 AS A WHERE NOT EXISTS (SELECT *

FROM 学习 AS B

WHERE B.学号='080101' AND NOT EXISTS (SELECT *

FROM 学习 AS C

WHERE A.学号=B.学号

AND B.课程号=C.课程号));

SELECT 姓名, 学院名称 FROM 学生, 学院, 学习

WHERE 学习.课程号='1003'AND '1004' AND 学生.学号=学习.学号

AND 学生.学院代码=学院.学院代码;

SELECT DISTINCT 课程.课程号, 课程名 FROM 学习, 课程 WHERE NOT EXISTS (SELECT * FROM 学习

WHERE 学习.课程号=课程.课程号 AND 学习.学号='080101');

SELECT 课程号 FROM 学习, 学生 WHERE NOT EXISTS (SELECT * FROM 学生

WHERE 学生.学号=学习.学号);

SELECT 姓名 FROM 学生

WHERE NOT EXISTS (SELECT * FROM 课程

WHERE NOT EXISTS (SELECT * FROM 学习

WHERE 课程号=课程.课程号 AND 学号=学生.学号));

SELECT AVG(成绩) AS 平均分, 学院名称 FROM 学习, 学生, 学院 WHERE 学习.学号=学生.学号

AND 学生.学院代码=学院.学院代码 AND 课程号='1003' GROUP BY 学院名称 ORDER BY AVG(成绩);

SELECT 姓名, 学院名称, 成绩 FROM 学生, 学院, 学习, 课程

WHERE 课程.课程名='数据库' AND 课程.课程号=学习.课程号 AND 学习.学号=学生.学号

AND 学生.学院代码=学院.学院代码 ORDER BY 成绩 DESC;

SELECT 开课.课程号, 课程名, 教师姓名 FROM 课程, 教师, 开课

WHERE 课程.学时 BETWEEN '30' AND '45' AND 开课.教师号=教师.教师号 AND 开课.课程号=课程.课程号;

SELECT 姓名 FROM 学生, 学习 WHERE 成绩 IN

(SELECT MAX(成绩) AS 最高分 FROM 学习

WHERE 课程号='1001') AND 学生.学号=学习.学号;

SELECT 课程号, 课程名 FROM 课程

WHERE 课程号 IN (SELECT 课程号 FROM 学习

GROUP BY 课程号

HAVING COUNT (学号)>2);

实验结果:

查询1 姓名 课程名 成绩 王影 微机原理 91 王影 概率 孙志鹏 概率 钱易蒙 概率

查询3 学号 姓名 080102 王梅 080103 张飞 080104 孙志鹏 080105 徐颖 080106 钱易蒙 92 95 95 查询3 学号 姓名 080107 徐明 080108 郭娜 080109 陈烨 080110 王艳雨 080111 严飞 查询4 学号 080101 080102 080103 080108 080112 查询6 学号 080101

查询7 姓名 学院名称 王影 计算机 唐金宝 计算机

查询8 课程号 课程名 1005 马克思 1006 管理 1008 体育

查询11 平均分 学院名称 90.5 计算机

查询12 姓名 学院名称 成绩 王影 计算机 89 查询12 姓名 学院名称 成绩 唐金宝 计算机 86 钱易蒙 资源 82

查询13 课程号 课程名 教师姓名 1002 操作系统 闫敏 1002 操作系统 葛静 1005 马克思 刘辉 1005 马克思 刘军 1005 马克思 辛壮壮 1005 马克思 葛静 1005 马克思 陈楠 1007 概率 1007 概率 1007 概率 1007 概率 1007 概率 闫敏 徐浩 张亮 汪琳 范露

查询14 姓名 王影

查询15 课程号 课程名 1001 数据库 1004 英语 1005 马克思 1006 管理 1007 概率 心得体会:通过这次实验,知道了SQL语句的应用,以及一些语法结构的使用,由于上课时

没有认真的听讲,还是有些题目通过同学的讲解才明白怎么回事。总之,通过这次实验,学会了好多知识。

本文来源:https://www.bwwdw.com/article/cgdo.html

Top