南京大学《数据库概论》课程 实验指导手册
实验一:用SQL进行数据操作
截止日期:2017年11月3日
实验要求:
本次实验大约需要2小时。
严禁抄袭!若发现抄袭实验代码或虚构实验报告,本次实验成绩为零分。
请认真完成所有实验内容,并于截止日期之前提交实验报告。实验报告应简洁明了,请按照实验报告模板,最长不得超过12页。如果你参考了他人的实验成果,请在实验报告中注明并致谢。
评分标准:按时提交(20%)+学术诚信(10%)+报告内容(70%)。
实验内容:
完成下列SQL基本操作,并将所有SQL语句和要求的实验截图放在实验报告中。
1. 使用SQL语句建立基本表(Student, Course, SC, Teacher, Dept)
1.1 Student表 字段 SNO SNAME SEX DEPTNO
1.2 Course表 字段 CNO CNAME TNO CREDIT
1.3 SC表 字段 SNO CNO GRADE
1.4 Teacher表 字段 TNO TNAME DEPTNO
1.5 Dept表 字段 DEPTNO DNAME
类型 int Char(20) 非空 是 是 主键 是 说明 系号 系名 类型 int Char(8) Int 非空 是 是 主键 是 说明 教师编号 教师姓名 所在系 类型 int Int Int 非空 是 是 主键 是 是 说明 学号 课程号 成绩 类型 int Char(20) Int int 非空 是 是 主键 是 是 说明 课程号 课程名 授课教师编号 学分 类型 int Char(8) Char(2) int 非空 是 是 主键 是 说明 学号 姓名 性别 所在系 2. 使用SQL语句修改基本表
2.1. 在Student表中加入属性AGE(SMALLINT型)。
2.2. 将Student表中的属性AGE类型改为INT型。
3. 使用SQL语句插入数据
3.1. 向Student表插入下列数据:
(1001,喵喵,m,10,20)、(1002,汪汪,f,10,21)、 (1003,咩咩,m,10,21)、(1004,哞哞,f,20,21)、 (1005,呱呱,m,20,22)、(1006,嘎嘎,f,20,22) (1007,咕咕哒,f,30,20)。
3.2. 向Course表插入下列数据:
(1,数据结构,101,4)、(2,数据库,102,4)、 (3,离散数学,103,4)、(4,C语言程序设计,101,2)、 (5,高等量子力学,105,3)。
3.3. 向SC表插入下列数据:
(1001,1,80)、(1001,2,85)、(1001,3,78)、(1002,1,72)、 (1002,2,82)、(1002,3,86)、(1003,1,92)、(1003,3,90)、 (1004,1,87)、(1004,4,90)、(1005,1,85)、(1005,4,92)、 (1006,5,99)、(1006,2,100)、(1007,1,80)、(1007,3,91)。
3.4. 向Teacher表插入下列数据:
(101,张小天,10)、(102,胡小伟,10)、 (103,黄程,10)、(104,郭冰,20)、(105,钱祺,30)。
3.5. 向Dept表插入下列数据:
(10,计算机)、(20,信管)、(30,物理)。
4. 单表查询
4.1. 查询所有女生的学生信息。
4.2. 查询成绩在80到之间的所有学生的选课记录,查询结果按成绩的升序排列。
[将查询结果截图保留在实验报告中] 4.3. 查询各个系的学生人数。
[将查询结果截图保留在实验报告中]
5. 连接查询
5.1. 查询信管系年龄在21岁以下(含21岁)的女生姓名及其年龄。
6. 嵌套查询
6.1. 查询在计算机方向总学分不足5分的学生姓名。
(计算机方向总学分 指 该学生选修的计算机系老师授课的课程的总学分) [将查询结果截图保留在实验报告中]
6.2. 查询各门课程取得最高成绩的学生姓名及其成绩。
[将查询结果截图保留在实验报告中]
6.3. 查询选修了1007学生选课的全部课程的学生学号。
[将查询结果截图保留在实验报告中]
6.4. 查询没有选修任何 1006学生选修的课程 的学生姓名。
[将查询结果截图保留在实验报告中]
7. 修改数据
7.1. 将数据结构课的学生成绩全部加2分。
[将修改后的sc表(select * from sc;)截图保留在实验报告中]
8. 删除数据
8.1. 删除成绩不足80分的所有女生的选课记录。
9. 视图操作
9.1. 在Student表上为计算机系的学生记录建立一个视图CS_STUDENT。
[将CS_STUDENT的全部内容截图保留在实验报告中] 9.2. 删除视图CS_STUDENT。
10. 删除基本表
10.1. 删除Student表。 10.2. 删除Course表。 10.3. 删除SC表。 10.4. 删除Teacher表。 10.5. 删除Dept表。