南华大学
计算机科学与技术学院
实验报告
( 2013~2014学年度第 2 学期 )
课程名称数据库原理与设计
实验名称数据库原理设计实验
姓名 赖淑琴
学号 20124350323
专业软件工程班级软件 3 班
地点校内教师刘征海
精选文档
实验 1认识 DBMS
一、实验题目
利用管理工具创建数据库,表和表间的关系
利用 SQL语句创建数据库,表和表间的关系
二、实验要求
使用 SQl Server2012 的管理工具进行可视化操作
使用 SQl 语句在 SQl Server2012 进行代码操作
熟练掌握实用工具和编写 SQL语句两种方法
三、实验代码
1、利用管理工具创建数据库,表和表间的关系
—2
精选文档
2、利用 SQL语句创建数据库,表和表间的关系
、创建数据库
( 2)、创建表和表间关系
—3
精选文档
( 3)、录入表数据
—4
精选文档
四、实验总结
在SQL Server2012中,由于可视化工具的使用,极大的方便了我们的操作,但是这些操作的背后都是 SQL语句,因此,在享受工具带来的方便的同时,不可忽视对 SQL语句的学习
—5
精选文档
实验 2交互式 SQL(1)
1、实验题目
数据库单表查询和多表连接查询
2、实验要求
、掌握单表查询 SELECT、FROM、WHERE的用法,特别要掌握比较运算符、逻辑运算符的使用
、理解多表查询的概念;掌握多表查询的 SELECT、 FROM、WHERE、JOIN 子句的用法,特别要求比较内连接、外连接的结果
3、实验代码
、单表查询①查询计算机系全体学生的信息
② 查询姓“李”的学生的学号和姓名。
—6
精选文档
③ 查询课程表中先行课为空的课程名。
、查询考试成绩有不及格的学生的学号
⑤ 求选修了 C1 课程或 C2 课程的学生的学号及成绩。
—7
精选文档
⑥ 查询全体计算机系学生的姓名及其年龄。
⑦ 查询计算机系在1986- 1987 年之间出生的学生的姓名。
⑧ 查询姓“李”的前两个学生的学号和姓名。
⑨ 查询选修了两门以上课程的学生学号与课程数。
—8
精选文档
⑩ 查询选修课程数大于等于 2 的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。
(2)、多表连接查询
①查询选修了【数据库原理】的计算机系的学生学号和姓名。
—9
精选文档
②查询每一门课的间接先行课( 即先行课的先行课 ) 。
③查询学生的学号、姓名、选修课程的名称和成绩。
④查询选修了课程的学生姓名。
—10
精选文档
⑤查询所有学生的信息和所选修的课程。
⑥查询已被选修的课程的情况和所有课程的名字。
⑦列出学生所有可能的选修情况。
—11
精选文档
⑧查找计算机系的学生选修课程数大于 2 的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列
4、实验总结
在对单表进行操作时要注意 where,group by,having ,order by的顺序问题,在多表查询时应该注意要给表所取别名, 每个表的主键以及表间的外键应该多多注意。
—12
精选文档
实验 3交互式 SQL(2)
1、实验题目
数据库嵌套查询和组合查询
2、实验要求
掌握查询中嵌套查询和组合查询的操作方法,进一步加深对 SELECT语句的理
解
3、实验代码
统计选修了【数据库原理】课程的学生人数。
查询没有选修【数据库原理】课程的学生信息。
查询其他系中比计算机系学生年龄都小的学生。
—13
精选文档
查询被 0602001 学生或 0602002 学生所选修的课程的课程号 ( 用 UNION
组合查询与 IN 条件查询两种方法实现 ) 。
查询 0602001 学生和 0602002 学生同时选修的课程的课程号 ( 用INTERSECT组合查询与 EXISTS 嵌套子查询两种方法实现 ) 。
查询被 0602001 学生选修,但没有被 0602002 学生所选修的课程的课程号 ( 用 EXCEPT组合查询与 NOT EXISTS嵌套子查询两种方法实现 ) 。
—14
精选文档
4、实验总结
在对表进行复杂查询时, 一般有组合, 嵌套两种方式实现, 其中要留意组合和嵌套之间的对应关系,同时 EXISTS的使用较为复杂。
—15
精选文档
实验 4交互式 SQL(3)
1、实验题目
数据的更新
2、实验要求
熟悉插入、修改和删除SQL语句的用法
3、实验代码
① 向表 StudentsYYXXXX 中插入 (0601001, 赵林 , 男 ,1985-09-08, 计算机 ) 的记录。
② 向 SCYYXXXX表中添加一个学生的选课记录,学号为
0601001,所选的
课程号为 C2。 SC 表中有 Sno、Cno、