用户定义数据类型与自定义函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理实验报告

实验名称:__用户定义数据类型与自定义函数_ 指导教师:_叶晓鸣刘国芳_____ 专业:_计算机科学与技术_ 班级:__2010级计科班_ 姓名:_文科_____学号: 100510107 完成日期:_2012年11月10日_成绩: ___ ___一、实验目的:

(1)学习和掌握用户定义数据类型的概念、创建及使用方法。

(2)学习和掌握用户定义函数的概念、创建及使用方法。

二、实验内容及要求:

实验 11.1 创建和使用用户自定义数据类型

内容:

(1)用SQL语句创建一个用户定义的数据类型Idnum。

(2)交互式创建一个用户定义的数据类型Nameperson。

要求:

(1)掌握创建用户定义数据类型的方法。

(2)掌握用户定义数据类型的使用。

实验 11.2 删除用户定义数据类型

内容:

(1)使用系统存储过程删除用户定义的数据类型Namperson。

(2)交互式删除用户定义的数据类型Idnum。

要求:

(1)掌握使用系统存储过程删除用户定义的数据类型。

(2)掌握交互式删除用户定义的数据类型。

实验 11.3 创建和使用用户自定义的函数

内容:

(1)创建一个标量函数Score_FUN,根据学生姓名和课程名查询成绩。

(2)创建一个内嵌表值函数S_Score_FUN,根据学生姓名查询该生所有选课的成绩。

(3)创建一个多语句表值函数ALL_Score_FUN,根据课程名查询所有选择该课程学生的成绩信息。

要求:

(1)掌握创建标量值函数的方法。

(2)掌握创建内嵌表值函数的方法。

(3)掌握创建多语句表值函数的方法。

实验 11.4 修改用户定义的函数

内容:

(1)交互式修改函数Score_FUN,将成绩转换为等级输出。

(2)用SQL修改函数S_Score_FUN,要求增加一输出列定义的成绩的等级。要求:

(1)掌握交互式修改用户定义函数的方法。

(2)掌握使用SQL修改用户定义函数的方法。

实验 11.5 输出用户定义的函数

内容:

(1)交互式删除函数Score_FUN。

(2)用SQL删除函数S_Score_FUN。

要求:

(1)掌握交互式删除用户定义函数的方法。

(2)掌握使用SQL删除用户定义函数的方法。

三、实验步骤:

实验 11.1 创建和使用用户定义数据类型

1.创建和使用用户定义的数据类型Idnum

(1)用SQL语句创建用户定义的数据类型Idnum。

打开新建查询编辑窗口,输入以下语句:

(2) 查看建立的自定义函数。

(3)使用用户定义的数据类型Idnum,创建一个学生表STUDENT和一个教师表TEACHER。在查询编辑窗口输入以下语句:

执行结果如下:

2.创建用户定义的数据类型Nameperson

(1) 交互式创建用户定义的数据类型Nameperson。

查看用户定义的数据类型对象。

(2)使用用户定义的数据类型Nameperson。在查询编辑窗口输入以下语句:

执行结果如下:

实验 11.2 删除用户定义数据类型

1.使用系统存储过程删除用户定义的数据类型Nameperson 在程序编辑窗口,输入以下语句:

执行结果如下:

2.交互式删除用户定义的数据类型Idnum

删除前:

删除后:

实验 11.3 创建和使用用户定义的函数1.交互式创建标量函数Score_FUN (1) 交互式创建表量函数Score_FUN

修改模板语句如下:

查看执行结果:

(2)使用用户定义的函数Score_FUN,查询学生钱尔的编译原理课程的成绩。查询语句如下:

执行结果如下:

2.用SQL创建内嵌表值函数S_Score_FUN

(1) 使用SQL创建内嵌表值函数S_Score_FUN。

输入以下语句:

执行结果如下:

(2)使用用户定义的函数S_Score_FUN查询学生钱尔所有课程的成绩。输入以下查询语句:

执行结果如下:

3.用SQL创建一个多语句函数

(1)用SQL创建一个多语句函数ALL_Score_FUN。输入以下语句:

执行结果如下:

(2)查询选择微机原理的学生的成绩。

输入以下语句:

结果如下:

实验 11.4 修改用户定义的函数

1.交互式修改函数

(1)交互式修改函数Score_FUN,将成绩转换为等级输出。在查询编辑窗口,修改语句如下:

执行结果如下:

查询学生钱尔的编译原理课程的成绩。

结果如下:

2.用SQL修改函数

(1)用SQL修改函数S_Score_FUN,增加一输出列对应成绩的等级。

在查询编辑窗口输入以下语句:

(2) 使用用户定义的函数S_Score_FUN,查询学生钱尔所有课程的成绩。在查询编辑窗口输入以下语句:

查询结果如下:

实验 11.5 删除用户定义的函数

1.交互式删除函数Score_FUN

删除前:

删除后:

2.用SQL删除函数S_Score_FUN

在查询编辑窗口输入以下语句:

删除前:

删除后:

四、实验结果与结论:

通过用户自定义函数,能够更好的处理数据库的相应操作。

五、实验中遇到的问题及解决方法:

在删除Idnum时,无法删除类型'dbo.Idnum',因为它正由对象'STUDENT' 引用。可能还有其他对象在引用此类型。

将student表和teacher表删除后,再执行删除操作时,删除成功。

相关文档
最新文档