【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第三次作业

part 1

设计一个学籍管理小系统。系统包含以下信息:

学号、学生姓名、性别、出生日、学生所在系名、学生所在系号、课程名、课程号、课程类型(必修、选修、任选)、学分、任课教师姓名、教师编号、教师职称、教师所属系名、系号、学生所选课程号、学生所选上课教师姓名、选课成绩。

两种不同表达方式的 E-R 图分别如图 1 1 1 和图 2 2 2 所示。

【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第三次作业_第1张图片

图 1    E-R 图(未注明了键、外键、类型等信息)

【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第三次作业_第2张图片

图 2    E-R 图(注明了键、外键、类型等信息)

part 2

完成在表上的操作 (用 SQL 的 SELECT 语句):

根据描述内容创建 student 表、course 表、department 表、selectcourse 表、teacher 表、teach 表,分别如图 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 所示。

学号 学生姓名 性别 出生日 所在系号
0 张三 19870610 0
1 李四 19870610 1
2 王五 19870610 2
3 赵六 19870610 3
4 李德 19870610 4
5 王和 19870610 5
6 田亮 19870610 6
7 周润发 19870610 7
8 刘德华 19870610 8
9 谢霆锋 19870610 9
10 邓超 19870610 0
11 刘翔 19860214 1
12 姚明 19860214 2
13 高峰 19860214 3
14 史冬鹏 19860214 4
15 郭晶晶 19860214 5
16 汤唯 19860214 6
17 范冰冰 19860214 7
18 李冰冰 19860214 8
19 赵本山 19860214 9
20 郭德纲 19860214 0
21 于谦 19860214 1
22 岳云鹏 19870814 2
23 姜昆 19870905 3
24 李金斗 19870905 4
25 刘青云 19870905 5
26 张靓颖 19870905 6
27 韩寒 19870905 7
28 李宇春 19870905 8
29 张静初 19870905 9
30 莫文蔚 19870905 9

表 1    student 关系表

课程号 课程名 学分 课程类型
0 模式识别 2 讲授
1 C++编程 2 讨论
2 计算机视觉 1 讨论
3 密码学 3 讲授
4 数理分析 2 讨论
5 英语 3 讲授
6 声乐 1 讨论
7 控制理论 3 讲授
8 信号处理 2 讨论
9 物理学 3 讲授
10 化学分析 1 讨论
11 遗传学 3 讲授
12 数据结构 3 讲授
13 通信工程 2 讲授
14 随机数学 3 讲授
15 日语 2 讲授
16 美术 1 讨论
17 解剖学 1 讨论
18 有机化学 1 讨论
19 材料学 2 讲授
20 流体力学 3 讲授
21 复变函数 2 讲授
22 市场营销 3 讲授
23 人力资源管理 3 讲授
24 组织理论与设计 2 讨论
25 证券投资学 2 讲授
26 宏观经济学 1 讨论
27 微观经济学 2 讲授
28 管理学 2 讲授
29 公司战略 1 讨论
30 德语 3 讲授
31 西班牙语 2 讲授

表 2    course 关系表

系号 系名
0 计算机系
1 自动化系
2 艺术系
3 通信系
4 外语系
5 物理系
6 化学系
7 数学系
8 生物系
9 管理系

表 3    department 关系表

课程号 学号 教师编号 选课成绩
0 0 0 99
1 0 1 99
2 1 2 99
3 1 3 99
4 2 4 99
5 2 5 99
6 3 6 99
7 3 7 99
8 4 8 99
9 4 9 99
10 5 0 99
11 5 1 99
12 6 2 99
13 6 3 88
14 7 4 88
15 7 5 88
16 8 6 88
17 8 7 88
18 9 8 88
19 9 9 88
20 10 0 88
21 10 1 88
22 11 2 88
23 11 3 88
24 12 4 88
25 12 5 88
26 13 6 88
27 13 7 77
28 14 8 77
29 14 9 77
30 15 0 77
31 15 1 77
0 16 0 77
1 16 1 77
2 17 2 77
3 17 3 77
4 18 4 77
5 18 5 77
6 19 6 77
7 19 7 77
8 20 8 77
9 20 9 66
10 21 0 66
11 21 1 66
12 22 2 66
13 22 3 66
14 23 4 66
15 23 5 66
16 24 6 66
17 24 7 66
18 25 8 66
19 25 9 66
20 26 0 66
21 26 1 66
22 27 2 66
23 28 3 66
24 28 4 66
25 29 5 66
26 29 6 66
27 30 7 66
28 30 8 55
29 27 9 55
30 26 0 55
31 30 1 55

表 4    selectcourse 关系表

教师编号 教师姓名 职称 所在院系号
0 牛根生 教授 0
1 王石 教授 1
2 马化腾 副教授 2
3 周鸿祎 副教授 3
4 马云 教授 4
5 柳传志 教授 5
6 史玉柱 副教授 6
7 王建宙 教授 7
8 李彦宏 副教授 8
9 周小川 教授 9
10 王健林 教授 0
11 李开复 教授 1

表 5    teacher 关系表

教师编号 课程号
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
0 20
1 21
2 22
3 23
4 24
5 25
6 26
7 27
8 28
9 29
0 30
1 31

表 6    teach 关系表

1. 查询所有学生所选的所有课程名、成绩

查询语句如下:

SELECT C.学生姓名, B.课程名, A.选课成绩 
FROM selectcourse AS A, course AS B, student AS C 
WHERE A.课程号=B.课程号 AND A.学号=C.学号

查询结果如表 7 7 7 所示:

学生姓名 课程名 选课成绩
张三 模式识别 99
汤唯 模式识别 77
张三 C++编程 99
汤唯 C++编程 77
李四 计算机视觉 99
范冰冰 计算机视觉 77
李四 密码学 99
范冰冰 密码学 77
王五 数理分析 99
李冰冰 数理分析 77
王五 英语 99
李冰冰 英语 77
赵六 声乐 99
赵本山 声乐 77
赵六 控制理论 99
赵本山 控制理论 77
李德 信号处理 99
郭德纲 信号处理 77
李德 物理学 99
郭德纲 物理学 66
王和 化学分析 99
于谦 化学分析 66
王和 遗传学 99
于谦 遗传学 66
田亮 数据结构 99
岳云鹏 数据结构 66
田亮 通信工程 88
岳云鹏 通信工程 66
周润发 随机数学 88
姜昆 随机数学 66
周润发 日语 88
姜昆 日语 66
刘德华 美术 88
李金斗 美术 66
刘德华 解剖学 88
李金斗 解剖学 66
谢霆锋 有机化学 88
刘青云 有机化学 66
谢霆锋 材料学 88
刘青云 材料学 66
邓超 流体力学 88
张靓颖 流体力学 66
邓超 复变函数 88
张靓颖 复变函数 66
刘翔 市场营销 88
韩寒 市场营销 66
刘翔 人力资源管理 88
李宇春 人力资源管理 66
姚明 组织理论与设计 88
李宇春 组织理论与设计 66
姚明 证券投资学 88
张静初 证券投资学 66
高峰 宏观经济学 88
张静初 宏观经济学 66
高峰 微观经济学 77
莫文蔚 微观经济学 66
史东鹏 管理学 77
莫文蔚 管理学 55
史东鹏 公司战略 77
韩寒 公司战略 55
郭晶晶 德语 77
张靓颖 德语 55
郭晶晶 西班牙语 77
莫文蔚 西班牙语 55

表 7    所有学生所选的所有课程名、成绩查询结果

2. 查询 somestucent 表中学生所选的所有课程名、成绩

somestudent 表给出学生名:

学生姓名
韩寒
李宇春
莫文蔚

表 8    somestudent 关系表

查询语句如下:

SELECT D.学生姓名, B.课程名, A.选课成绩 
FROM selectcourse AS A, course AS B, student AS C, somestudent AS D 
WHERE A.课程号=B.课程号 AND C.学生姓名=D.学生姓名 AND A.学号=C.学号

查询结果如表 9 9 9 所示:

学生姓名 课程名 选课成绩
韩寒 市场营销 66
李宇春 人力资源管理 66
李宇春 组织理论与设计 66
莫文蔚 微观经济学 66
莫文蔚 管理学 55
韩寒 公司战略 55
莫文蔚 西班牙语 55

表 9    somestucent 表中学生所选的所有课程名、成绩查询结果

3. 查询 somestudent 表中学生的累计学分(未及格的不算)

查询语句如下:

SELECT D.学生姓名, SUM(B.学分) AS '累计学分' 
FROM selectcourse AS A, course AS B, student AS C, somestudent AS D 
WHERE A.课程号=B.课程号 AND C.学生姓名=D.学生姓名 AND A.学号=C.学号 AND A.选课成绩 >= 60 
GROUP BY C.学号

查询结果如表 10 10 10 所示:

学生姓名 累积学分
韩寒 3
李宇春 5
莫文蔚 2

表 10    somestudent 表中学生的累计学分查询结果

4. 查询 somecourse 表中课程的平均成绩

somecourse 表给出课程名:

课程名
模式识别
数据结构
英语

表 11    somescourse 关系表

查询语句如下:

SELECT C.课程名, AVG(A.选课成绩) AS '课程平均成绩' 
FROM selectcourse AS A, course AS B, somecourse AS C
WHERE A.课程号=B.课程号 AND B.课程名=C.课程名
GROUP BY C.课程名

查询结果如表 12 12 12 所示:

课程名 课程平均成绩
模式识别 88.0
数据结构 82.5
英语 88.0

表 12    somecourse 表中课程的平均成绩查询结果

5. 各门课按平均成绩排序(降序,若改为升序,只需要将 DESC 换为 ASC)

查询语句如下:

SELECT B.课程名, AVG(A.选课成绩) AS '平均成绩' 
FROM selectcourse AS A, course AS B
WHERE A.课程号=B.课程号
GROUP BY A.课程号
ORDER BY 平均成绩 DESC

查询结果如表 13 13 13 所示:

课程名 平均成绩
信号处理 88.0
模式识别 88.0
C++编程 88.0
计算机视觉 88.0
密码学 88.0
数理分析 88.0
英语 88.0
声乐 88.0
控制理论 88.0
物理学 82.5
化学分析 82.5
遗传学 82.5
数据结构 82.5
宏观经济学 77.0
解剖学 77.0
有机化学 77.0
材料学 77.0
流体力学 77.0
复变函数 77.0
市场营销 77.0
通信工程 77.0
人力资源管理 77.0
随机数学 77.0
组织理论与设计 77.0
日语 77.0
证券投资学 77.0
美术 77.0
微观经济学 71.5
管理学 66.0
公司战略 66.0
德语 66.0
西班牙语 66.0

表 13    各门课按平均成绩排序查询结果

6. 显示所有的课程名和讲课教师名

查询语句如下:

SELECT B.课程名, C.教师姓名
FROM teach AS A, course AS B, teacher AS C
WHERE A.课程号=B.课程号 AND A.教师编号=C.教师编号

查询结果如表 14 14 14 所示:

课程名 教师姓名
模式识别 牛根生
C++编程 王石
计算机视觉 马化腾
密码学 周鸿祎
数理分析 马云
英语 柳传志
声乐 史玉柱
控制理论 王建宙
信号处理 李彦宏
物理学 周小川
化学分析 牛根生
遗传学 王石
数据结构 马化腾
通信工程 周鸿祎
随机数学 马云
日语 柳传志
美术 史玉柱
解剖学 王建宙
有机化学 李彦宏
材料学 周小川
流体力学 牛根生
复变函数 王石
市场营销 马化腾
人力资源管理 周鸿祎
组织理论与设计 马云
证券投资学 柳传志
宏观经济学 史玉柱
微观经济学 王建宙
管理学 李彦宏
公司战略 周小川
德语 牛根生
西班牙语 王石

表 14    所有的课程名和讲课教师名查询结果

你可能感兴趣的:(【国科大】,数据挖掘,数据库,人工智能)