山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩:
实验十五 视图
一、实验目的:
(1) 理解视图的概念。
(2) 掌握创建、更改、删除视图的方法。 (3) 掌握使用视图来访问数据的方法。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
1) 使用SQL语句创建、管理视图 (1) 创建视图。
① 创建一个名为sc_view1的视图,从数据库gradem的sc表中查询出成绩大于90分的所有学生选修成绩的信息。
② 创建一个名为sc_view2的视图,从数据库gradem的sc表中查询出成绩小于80分的所有学生的学号、课程号、成绩等信息。
③ 创建一个名为sc_view3的加密视图,由数据库gradem的student、course、sc表创建一个显示“20070303”班学生选修课程(包括学生姓名、课程名称、成绩等信息)的视图。
④ 创建一个从视图sc_view1中查询出课程号“c01”的所有学生的视图。
(2) 修改视图的定义。
修改视图sc_view1,使其从数据库gradem的sc表中查询出成绩大于90分且第3学期的所有学生选修成绩的信息。
(3) 视图的更名与删除。
26
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: ① 将视图sc_view1更名为sc_view5。
② 将视图sc_view5删除。
(4) 管理视图中的数据。
① 从视图sc_view2中查询出学号为“2007030125”、课程号为“a01”的学生选修成绩的信息。
② 将视图sc_view2中学号为“2007030122”、课程号为“c02”的成绩改为87。
③ 从视图sc_view2中将学号为“2007030123”、课程号为“a01”的学生信息删除。
2.思考题
(1) 向视图中插入的数据能进入到基本表中去吗?
(2) 修改基本表的数据会自动反映到相应的视图中去吗?
(3) 如何保证视图使用的安全性?
四、实验总结:
1、收获
2、存在的问题
27
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 实验十六 T-SQL编程
一、实验目的:
(1) 理解常量与变量的概念; (2) 掌握常量与变量的使用方法; (3) 掌握表达式的使用方法;
(4) 理解Transact-SQL流程控制语句的使用; (5) 掌握常用函数的功能及使用方法;
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
(1) 定义一个整型局部变量iAge和可变长字符型局部变量vAddress,并分别赋值20和“中国山东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。
(2) 通过全局变量获得当前服务器进程的ID标识和My SQL服务器的版本。
(3) 求1~100的偶数和与所有的质数的和。
(4) 对于字符串“Welcome to My SQL”,进行以下操作。(查阅联机丛书) ① 将字符串转换为全部大写。
② 将字符串转换为全部小写。
28
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: ③ 去掉字符串前后的空格。
④ 截取从第12个字符开始的10个字符。
(5) 使用日期型函数,获得输出结果见表5-8。 表5-8 输出结果
年份 2009
(6) 根据sc表中的成绩进行处理:成绩大于等于60分的显示“及格”,小于60分的显示“不及格”,为NULL的显示“无成绩”。
(7) 利用SQL条件语句,在student表中查找“李艳”同学的信息,若找到,则显示该生的学号、姓名、班级名称及班主任,否则显示“查无此人”。
3.思考题
(1) 全局变量与局部变量的区别是什么?
(2) 使用变量的前提是什么?
月份 11 日期 16 星期几 星期一 四、实验总结:
1、收获
2、存在的问题
29
山东信息职业技术学院实验报告
学号: 2015030838 姓名: 赵殿强 班级: 网络一班 同组者: 课程名称: 数据库原理及应用 指导老师: 孙灿 实验成绩: 实验十七 存储过程
一、实验目的:
(1) 理解存储过程和函数的概念。 (2) 掌握创建各种存储过程和函数的方法。 (3) 掌握执行存储过程和函数的方法。
(4) 掌握查看、修改、删除存储过程和函数的方法。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
1) 使用Transact-SQL语句创建存储过程 (1) 创建不带参数的存储过程。
① 创建一个从student表查询班级号为“20070301”班的学生资料的存储过程proc_1,其中包括学号、姓名、性别、出生年月等。调用proc_1存储过程,观察执行结果。
② 在gradem1数据库中创建存储过程proc_2,要求实现如下功能:存在不及格情况的学生选课情况列表,其中包括学号、姓名、性别、课程号、课程名、成绩、系别等。调用proc_2存储过程,观察执行结果。
(2) 创建带输入参数的存储过程。
创建一个从student表查询学生资料的存储过程 proc_3,其中包括学号、姓名、性别、出生年月、班级等。要查询的班级号通过执行语句中的输入参数传递给存在过程。
其中,“20070303”为要传递给存储过程proc_3的输入参数,也即是要查询的资料的班级号。
(3) 创建带输出参数的存储过程。
创建一个从sc表查询某一门课程考试成绩总分的存储过程proc_4。
在以上存储过程中,要查询的课程号通过执行语句中的输入参数@cno传递给存储过程,@sum_degree作为输出参数用来存放查询得到的总分。执行此存储过程,观察执行结果。
30