《数据库实验报告.doc》由会员分享,可在线阅读,更多相关《数据库实验报告.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-/南华大学计算机科学与技术学院实 验 报 告 ( 2013 2014 学年度 第 2 学期 )课程名称 数据库原理与设计实验名称 数据库原理设计实验姓名赖淑琴学号20124350323专业软件工程班级软件3班地点校内教师刘征海实验1 认识DBMS一、实验题目1. 利用管理工具创建数据库,表和表间的关系2. 利用SQL语句创建数据库,表和表间的关系二、实验要求1. 使用SQl Server2012的管理工具进行可视化操作2. 使用SQl语句在SQl Server2012进行代码操作3. 熟练掌握实用工具和编写SQL语句两种方法三、实验代码1、利用管理工具创建数据库,表和表间的关系2、利用SQL
2、语句创建数据库,表和表间的关系(1)、创建数据库(2)、创建表和表间关系(3)、录入表数据四、实验总结 在SQL Server2012中,由于可视化工具的使用,极大的方便了我们的操作,但是这些操作的背后都是SQL语句,因此,在享受工具带来的方便的同时,不可忽视对SQL语句的学习实验2 交互式SQL(1)1、实验题目 数据库单表查询和多表连接查询2、实验要求(1)、掌握单表查询SELECT、FROM、WHERE 的用法,特别要掌握比较运算符、逻辑运算符的使用(2)、理解多表查询的概念;掌握多表查询的SELECT、 FROM、WHERE、JOIN子句的用法,特别要求比较内连接、外连接的结果3、实验
3、代码 (1)、单表查询查询计算机系全体学生的信息 查询姓“李”的学生的学号和姓名。 查询课程表中先行课为空的课程名。(4)、 查询考试成绩有不及格的学生的学号 求选修了C1 课程或C2 课程的学生的学号及成绩。 查询全体计算机系学生的姓名及其年龄。 查询计算机系在19861987 年之间出生的学生的姓名。 查询姓“李”的前两个学生的学号和姓名。 查询选修了两门以上课程的学生学号与课程数。 查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。(2)、多表连接查询查询选修了【数据库原理】的计算机系的学生学号和姓名。查询每一门课的间接先行课(即先行课的先行课)。查询学生
4、的学号、姓名、选修课程的名称和成绩。查询选修了课程的学生姓名。查询所有学生的信息和所选修的课程。查询已被选修的课程的情况和所有课程的名字。列出学生所有可能的选修情况。查找计算机系的学生选修课程数大于2 的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列4、实验总结在对单表进行操作时要注意where,group by,having ,order by的顺序问题,在多表查询时应该注意要给表所取别名,每个表的主键以及表间的外键应该多多注意。实验3 交互式SQL(2)1、实验题目 数据库嵌套查询和组合查询2、实验要求 掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT语句的理解3、实
5、验代码(1) 统计选修了【数据库原理】课程的学生人数。 (2) 查询没有选修【数据库原理】课程的学生信息。 (3) 查询其他系中比计算机系学生年龄都小的学生。 (4) 查询被0602001 学生或0602002 学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)。(5) 查询0602001 学生和0602002 学生同时选修的课程的课程号(用INTERSECT 组合查询与EXISTS 嵌套子查询两种方法实现)。(6) 查询被0602001 学生选修,但没有被0602002 学生所选修的课程的课程号(用EXCEPT 组合查询与NOT EXISTS 嵌套子查询两种方法实
6、现)。 4、实验总结在对表进行复杂查询时,一般有组合,嵌套两种方式实现,其中要留意组合和嵌套之间的对应关系,同时EXISTS的使用较为复杂。实验4 交互式SQL(3)1、实验题目 数据的更新2、实验要求熟悉插入、修改和删除SQL语句的用法3、实验代码 向表StudentsYYXXXX 中插入(0601001,赵林, 男,1985-09-08,计算机)的记录。 向SCYYXXXX 表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。 SC表中有Sno、Cno、Grade 这3 个列。这里只知道学号和课程号,不知道成绩值。 向表StudentsYYXXXX 中插入(0601002
7、,张修雨,default)记录,该记录的数据中default 表示默认值男,其他数据表示空值。 用CREATE 语句建立表StudentBAK1YYXXXX,包含(与Students 的Sno、Sname、Sdept 相同)3 个字段, 然后用INSERT SELECT 语句实现向StudentBAK1YYXXXX 添加StudentsYYXXXX 表中的计算机系学生的学号、姓名、所在系的信息。 用 SELECTINTO 语句实现把StudentsYYXXXX 表中1986 年后(包含1986 年)出生的学生的学号、姓名存储到一个新表StudentBAK2YYXXXX。 将姓名为【赵林】的同学的所在系改为【机电系】,爱好改为【足球】。 将选修了课程名为【数据库原理】的学生成绩加5 分。 将StudentCourseYYXXXX 数据库的StudentBAK1YYXXXX 表中所有姓赵的同学删除。 删除计算机系选修成绩不及格的学生选修记录。 将StudentCourseYYXXXX 数据库的StudentBAK2YYXXXX 表中的所有行删除。4、实验总结使用SQL对表进行增加,删除,修改等操作要留意表与表之间的关联,在执行完SQL语句后应该及时刷新数据库内容,否则不会显示表的增加或者表的改变。
限制150内