《数据库原理及应用》实验报告(1-21) 下载本文

山东信息职业技术学院实验报告

学号: 姓名: 班级: 同组者:

课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十六 SQL编程

一、实验目的:

(1) 理解常量与变量的概念; (2) 掌握常量与变量的使用方法; (3) 掌握表达式的使用方法;

(4) 理解Transact-SQL流程控制语句的使用; (5) 掌握常用函数的功能及使用方法;

二、实验要求

1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。

三、实验内容及步骤

(1) 定义一个整型局部变量iAge和可变长字符型局部变量vAddress,并分别赋值20和“中国山东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。

(2) 通过全局变量获得当前My SQL服务器的版本。

(3) 求1~100的偶数和。

(4) 对于字符串“Welcome to My SQL”,进行以下操作。(查阅联机丛书) ① 将字符串转换为全部大写。

② 将字符串转换为全部小写。

26

山东信息职业技术学院实验报告

学号: 姓名: 班级: 同组者:

课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: ③ 去掉字符串前后的空格。

④ 截取从第12个字符开始的10个字符。

(5) 使用日期型函数,获得输出结果见表5-8。 表5-8 输出结果

年份 2009

(6) 根据sc表中的成绩进行处理:成绩大于等于60分的显示“及格”,小于60分的显示“不及格”,为NULL的显示“无成绩”。

(7) 利用SQL条件语句,在student表中查找“李艳”同学的信息,若找到,则显示该生的学号、姓名、班级名称及班主任,否则显示“查无此人”。

3.思考题

(1) 全局变量与局部变量的区别是什么?

(2) 使用变量的前提是什么?

月份 11 日期 16 星期几 星期一 四、实验总结:

1、收获

2、存在的问题

27

山东信息职业技术学院实验报告

学号: 姓名: 班级: 同组者:

课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十七 存储过程

一、实验目的:

(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作为输出参数用来存放查询得到的总分。执行此存储过程,观察执行结果。

28

山东信息职业技术学院实验报告

学号: 姓名: 班级: 同组者:

课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩:

2) 使用Transcant-SQL语句查看、修改和删除存储过程 (1) 查看存储过程。

用户的存储过程被创建以后,可以用系统存储过程来查看其有关信息。

① 查看存储过程的定义。使用系统存储过程sp_helptext查看存储过程proc_1、proc_3的定义。 ② 使用系统存储过程sp_help查看存储过程proc_1的信息。 (2) 修改存储过程。

使用ALTER PROCEDURE语句将存储过程proc_1修改为查询班级号为“20070302”班的学生资料。

(3) 删除存储过程。 将存储过程 proc_1删除。

四、实验总结:

1、收获

2、存在的问题

29

山东信息职业技术学院实验报告

学号: 姓名: 班级: 同组者:

课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十八、十九 触发器

一、实验目的:

(1) 理解触发器的概念与类型。 (2) 理解触发器的功能及工作原理。 (3) 掌握创建、更改、删除触发器的方法。 (4) 掌握利用触发器维护数据完整性的方法。

二、实验要求

1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。

三、实验内容及步骤

1) 使用Transcat-SQL语句创建触发器

(1) 创建插入触发器并进行触发器的触发执行。

为表sc创建一个插入触发器 student_sc_insert,当向表sc插入数据时,必须保证插入的学号有效地存在于student表中,如果插入的学号在student表中不存在,给出错误提示。

向表sc中插入一行数据:sno, cno,degree分别是(‘20070302’,‘c01’,78),该行数据插入后,观察插入触发器student_sc_insert是否触发工作,再插入一行数据,观察插入触发器是否触发工作。 (2) 创建删除触发器。

为表student 创建一个删除触发器student_delete,当删除表student中的一个学生的基本信息时,将表sc中该生相应的学习成绩删除。

将学生“张小燕”的资料从表student中删除,观察删除触发器student_delete是否触发工作,即sc表中该生相应的学习成绩是否被删除。 (3) 创建更新触发器。

为student表创建一个更新触发器student_sno,当更改student表中某学号学生的学号时,同时将sc表中该学生的学号更新。

30