《数据库原理及应用》实训报告.docx
《《数据库原理及应用》实训报告.docx》由会员分享,可在线阅读,更多相关《《数据库原理及应用》实训报告.docx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理及应用实训报告实训课程:数据库原理及应用学 号:学生姓名:班 级:2021年 月 日(11)统计各系的男、女生人数。(12)统计各班人数。(13)统计各班男、女生人数。(14)统计各系的老师人数,并按人数升序排序。(15)统计不及格人数超过10人的课程号。(16)统计选修人数超过10人的课程号。(17)查询软件系的男生信息,查询结果按出生日期升序排序,出生日期相同的按地址降序排序。4 .思考题(1)聚集函数能否直接使用在SELECT子句、HAVING子句、WHERE子句、GROUP BY子句 中?(2) WHERE子句与HAVING子句有何不同?5 .实训总结:(1)收获(2)存在问
2、题实训5多表连接查询.实训目的(1)掌握SELECT语句在多表查询中的应用。(2)掌握多表连接的几种连接方式及应用。1 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;3) 12人为1小组,实训过程中独立操作、相互学习。3 .实训内容及步骤在Gradem数据库中完成下面查询:(1)查询计算机工程系女学生的学生学号、姓名及考试成绩。(2)查询“李勇”同学所选课程的成绩。(不考虑重名)(3)查询“李新”老师所授课程的课程名称。(4)查询女教师所授课程的课程号及课程名称。(5)查询至少选修一门课程的女学生姓名。(6)查询姓“王”的学生所
3、学的课程名称。(7)查询选修“数据库”课程且成绩在8090分之间的学生学号及成绩。(8)查询选修“数据库”课程且成绩在8090分之间的学生姓名及成绩。(9)查询课程成绩及格的男同学的学生信息及课程号与成绩。(10)查询选修“c04”课程的学生的平均年龄。(11)查询学习课程名为“数学”的学生学号和姓名。(12)查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩。(13)查询“钱军”教师任课的课程号,选修其课程的学生的姓名。(14)查询在第3学期所开课程的课程名称及成绩。(15)查询“c02”号课程不及格的学生信息。(16)查询软件工程系成绩在90分以上的学生姓名、性别和课程名称。(17
4、)查询同时选修了 %04”和“c02”课程的学生姓名和成绩。4 .思考题(1)指定一个较短的别名有什么好处?(2)内连接与外连接有什么区别?(3) “ = ”与IN在什么情况下作用相同?5 .实训总结:(1)收获(2)存在问题实训6嵌套查询1 .实训I目的(1)掌握嵌套查询的使用方法。(2)掌握相关子查询与嵌套子查询的区别。(3)掌握带IN谓词的子查询的使用方法。(4)掌握带比较运算符的子查询的使用方法。2 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;(3)12人为1小组,实训过程中独立操作、相互学习。3 .实训内容及步骤在g
5、radem数据库中完成下面查询:(1)查询“李勇”同学所选课程的成绩。(2)查询“李新”老师所授课程的课程名称。(3)查询女教师所授课程的课程号及课程名称。(4)查询姓“王”的学生所学的课程名称。(5)查询选修“数据库”课程且成绩在8090分之间的学生学号及成绩。(6)查询学习课程名为“数学”的学生学号和姓名。(7)查询选修“C04”课程的学生的平均年龄。(8)查询在第3学期所开课程的课程名称及成绩。(9)查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩。(10)查询与“李勇”同一个系的同学姓名。(11)查询学号比“刘晨”同学大,而出生日期比他小的学生姓名。(12)查询出生日期大于所
6、有女同学出生日期的男同学的姓名及系别。(13)查询成绩比该课程平均成绩高的学生的学号及成绩。(14)查询不讲授“C01”课的教师姓名。(15)查询“C02”号课程不及格的学生信息。(16)查询没有选修“C02”课程的学生学号及姓名。(17)查询选修了 “数据库”课程的学生学号、姓名及系别。4 .思考题(1)子查询一般分为几种?(2)相关子查询的执行过程是什么?5 .实训总结:(1)收获(2)存在问题实训I7数据更新1 .实训目的:(1)掌握利用INSERT命令实现对表数据的插入操作。(2)掌握利用UPDATE命令实现对表数据的修改操作。(3)掌握利用DELETE命令实现对表数据的删除操作。2
7、.实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;(3)12人为1小组,实训过程中独立操作、相互学习。3 .实训内容及步骤在gradem数据库中完成下面操作:注意:在完成实训题目前先备份Student、SC、Course这3个表,备份表名自定。(1)向 Student 表中插入记录(”20050203“,“张静“,“1981-3-21“,“女”,“CS”,“电子商务(2)插入学号为“20050302”、姓名为“李四”的学生信息。(3)将学号为“20050202”的学生姓名改为“张华”,系别改为“CS”,专业改为“多媒体技 术”。(4
8、)将“李勇”同学的专业改为“计算机信息管理”。(5)删除学号为“20050302”的学生记录。(6)删除“计算机系”所有学生的选课记录。(7)删除SC表中尚无成绩的选课记录。(8)把“张晨”同学的选课记录全部删除。4 .思考题(1) DROP命令和DELETE命令的本质区别是什么?(2)利用INSERT、UPDATE和DELETE命令可以同时对多个表进行操作吗?5.实训总结:(1)收获(2)存在问题实训I8数据查询与维护综合实训1 实训目的:(1)进一步掌握SELECT语句的功能及使用方法。(2)进一步掌握SELECT语句的基本语法和查询条件表示方法;(3)进一步掌握查询条件种类和表示方法;(
9、4)进一步掌握连接查询的表示及使用;(5)进一步掌握嵌套查询的表示及使用;6 6) 了解集合查询的表示及使用(7)进一步掌握利用INSERT命令实现对表数据的插入操作。(8)进一步掌握利用UPDATE命令实现对表数据的修改操作。(9)进一步掌握利用DELETE命令实现对表数据的删除操作。7 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;(3)12人为1小组,实训过程中独立操作、相互学习。8 .实训内容及步骤在gradem数据库中完成下面操作:(1)查询以DB开头,且倒数第3个字符为s的课程的详细情况;(2)查询名字中第2个字为阳
10、的学生姓名和学号及选修的课程号、课程名;(3)列出选修了 数学或者大学英语的学生学号、姓名、所在院系、选修课程号及成绩;(4)查询缺少成绩的所有学生的详细情况;(5)查询与张力(假设姓名唯一)年龄不同的所有学生的信息;(6)查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;(7)列出只选修一门课程的学生的学号、姓名、院系及成绩;(8)查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;(9)只选修“大学英语”和“高等数学”两门课程的学生的基本信息;(10)至少选修“数据库”或“数据结构”课程的学生的基本信息;(11)列出所有课程被选修的详细情况,包括课程号、课程名
11、、学号及成绩;(12)查询只被一名学生选修的课程的课程号、课程名;(13)使用嵌套查询列出选修了 “数据结构”课程的学生学号和姓名;(14)使用嵌套查询查询其它系中年龄小于计算机系的某个学生的学生姓名、年龄和系别;(15)使用ANY、ALL查询,列出其他院系中比CS系所有学生年龄小的学生;(16)分别使用连接查询和嵌套查询,列出与张力在一个系的学生的信息;(17)使用集合查询列出CS系的学生以及性别为女的学生名单;.实训总结:(1)收获(2)存在问题实训9创建与管理索引和视图1 .实训目的:(1)理解索引的概念与类型。(2)掌握创建、更改、删除索引的方法。(3)掌握维护索引的方法。(4)理解视
12、图的概念。(5)掌握创建、更改、删除视图的方法。(6)掌握使用视图来访问数据的方法。2 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;(3)12人为1小组,实训过程中独立操作、相互学习。3 .实训内容及步骤(1)使用SSMS管理工具创建、管理索引 在数据库gradem下创建workinfo表。创建表的同时在id字段上创建名为index_id的唯一 性索引。workinfo表结构内容如下表所示:字段名字段描述数据类型主键外键非空唯一id编号INT是否是是sname职位名称VARCHAR(20)否否是否Type职位类别VARCHAR
13、(IO)否否否否Address工作地址VARCHAR(50)否否否否Wages工资TINYINT否否否否Contents工作内容VARCHAR(max)否否否否extra附加信息VARCHAR(max)否否否否创建索引。为sname字段创建索引index_name,在type和address字段上创建名为index 的组合索引。删除索引。删除workinfo表的唯一,性索引index_ido(2)使用SQL语句创建、管理索引利用create table语句在gradem数据库中创建数据表writerso在创建表的同时在w_id字段 上添加名称为uniquex的唯一索引。writers其表结构内
14、容如下表所示。实训1 创建和维护数据库1 .实训目的1) 了解 SQL Server 2016 工作环境。(2)掌握SQL Server 2016数据库的相关概念。(3)掌握在Windows平台上安装SQLServer2016和SSMS管理工具。(4)掌握启动并登录SQL Server 2016的方法和步骤。(5)掌握使用SSMS和Transact-SQL语句创建数据库的方法。(6)掌握数据库的修改、查看、分离、附加和删除等基本操作的方法。1 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;3) 12人为1小组,实训过程中独立操作
15、、相互学习。3 .实训内容学生信息管理数据库gradem参数见表1-U表1-1 gradem数据库参数表主数据文件参数参数值日志文件参数参数值文件路径D :dbgradem. mdf存储的日志文件路径D: dbgradem_log. Idf数据文件初始大小10MB日志文件初始大小2MB数据文件最大值20MB日志文件最大值15MB数据文件增长量原来10%日志文件增长量2MB要更改的学生信息管理数据库参数见表1-2。表1-2要更改的参数表参数参数值参数参数值增加的数据文件路径D:gradem 1 _data.ndf增加的日志文件路径E:grademl_log.ldf增加的数据文件初始大小7MB增加
16、的日志文件初始大 小3MB增加的数据文件最大值20MB增加的日志文件最大值30MB增加的数据文件增长量2MB增加的日志文件增长量2MB(1)在Windows平台下安装与配置SQL Server 2016。(2)在Windows平台下安装SSMS管理工具。(3)使用SSMS按表1-1的要求创建数据库。(4)在SSMS中查看gradem数据库的状态,查看gradem.mdf、grademog.ldf两个数据库文件 所在的文件夹。(5)使用SSMS按表1-2的要求修改gradem数据库的参数。(6)使用SSMS分离该数据库,分离后再把该数据库附加到SQLServer实例中。字段名字段描述数据类型主键
17、外键非空唯一w_id编号INT是否是是w_name作者姓名VARCHAR(20)否否是否w_address作者地址VARCHAR(50)否否否否w_age年龄T1NYINT否否是否w_note说明VARCHAR(max)否否否否使用create index语句在w_address和w_age字段上建立名称为multiidx的组合索引。删除索引。利用drop index语句将multiidx索引删除。(3)使用SQL语句创建、管理视图 创建一个名为sc_viewl的视图,从数据库gradem的sc表中查询出成绩大于90分的所有学生 选修成绩的信息。 创建一个名为sc_view2的视图,从数据库g
18、radem的sc表中查询出成绩小于80分的所有学 生的学号、课程号、成绩等信息。 创建一个名为sc_view3的视图,由数据库gradem的student、course sc表创建一个显示 “20070303”班学生选修课程(包括学生姓名、课程名称、成绩等信息)的视图。 创建一个从视图sc_viewl中查询出课程号“cOl”的所有学生的视图。修改视图的定义。修改视图sc_viewl,使其从数据库gradem的sc表中查询出成绩大于90分 且第3学期的所有学生选修成绩的信息。视图的删除。将视图sc-viewl删除。管理视图中的数据。从视图sc_view2中查询出学号为“2007030125”、课
19、程号为“aOl”的学生选修成绩的信息。将视图sc_view2中学号为“2007030122”、课程号为“c02”的成绩改为87。从视图sc_view2中将学号为“2007030123”、课程号为“aOl”的学生信息删除。4 .思考题(1)数据库中索引被破坏后会产生什么结果?(2)视图上能创建索引吗?(3)向视图插入的数据能添加到基本表中吗?(4)修改基本表的数据会自动反映到相应的视图中吗?5 .实训总结:(1)收获(2)存在的问题实训10 SQL编程基础.实训目的:(1)理解常量与变量的概念;(2)掌握常量与变量的使用方法;(3)掌握表达式的使用方法;(4)理解SQL流程控制语句的使用;(5)
20、掌握常用函数的功能及使用方法;.实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;3 3) 12人为1小组,实训过程中独立操作、相互学习。4 .实训内容及步骤(1)定义一个整型局部变量iAge和可变长字符型局部变量vAddress,并分别赋值20和“中国山 东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。(2)通过全局变量获得当前SQL Server服务器的版本。(3)求1100的偶数和。(4)对于字符串Welcome to SQL Server 2016,进行以下操作。(查阅联机丛书) 将字符串转换为全部大写。
21、将字符串转换为全部小写。 去掉字符串前后的空格。 截取从第12个字符开始的10个字符。(5)使用日期型函数,获得输出结果见下表。输出结果:年份月份日期星期几200911182(6)根据sc表中的成绩进行处理:成绩大于等于60分的显示“及格”,小于60分的显示“不 及格,为NULL的显示“无成绩”。(7)利用SQL条件语句,在student表中查找“李艳”同学的信息,若找到,则显示该生的学 号、姓名、班级名称及班主任,否则显示“查无此人”。5 .思考题(1)全局变量与局部变量的区别是什么?(2)使用变量的前提是什么?6 .实训总结:(1)收获(2)存在问题实训11存储过程的创建与使用1 .实训目
22、的:(1)理解存储过程和函数的概念。(2)掌握创建各种存储过程和函数的方法。(3)掌握执行存储过程和函数的方法。(4)掌握查看、修改、删除存储过程和函数的方法。2 .实训要求(1)学生提前准备好实训报告,预习并熟悉实训步骤;(2)遵守实训室纪律,在规定的时间内完成要求的内容;(3)12人为1小组,实训过程中独立操作、相互学习。3 .实训内容及步骤1)使用SQL语句创建存储过程(1)创建不带参数的存储过程。 创建一个从student表查询班级号为20070301班的学生资料的存储过程proc_l,其中包 括学号、姓名、性别、出生年月等。调用proc存储过程,观察执行结果。在gradem数据库中创
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理及应用 数据库 原理 应用 报告
限制150内