数据完整性检验实验报告_第1页
数据完整性检验实验报告_第2页
数据完整性检验实验报告_第3页
数据完整性检验实验报告_第4页
数据完整性检验实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专业课程实验报告课程名称:数据库系统概论开课学期: 2014 至 2015 学年 第 2 学期专业: 电子商务 年级班级: 2013学生姓名: XXX 学号:XXX实验教师:XXX计算机与信息科学学院 软件学院实验项目名称 数据完整性检验实验时间2015年4月28日实验类型验证性 设计性 综合性一、实验目的1、理解与掌握数据库完整性原因;2、掌握数据库完整性的控制手段;3、会用SQL Server2008进行数据库完整性相关的实践;4、能够利用SSMS和TSQL自定义用户函数,实现完整性控制。二、实验要求针对图书管理系统book 数据库1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑

2、定2.对数据库中某列设置其identity属性3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)4.在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)5.在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)6.对创建的各用户定义函数进行查看和修改(使用SSMS)7.使用TSQL对前面定义的函数进行删除三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码)1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑定USE book GOCREATE RULE id_chk

3、 AS id BETWEEN 0000 AND 0100GOsp_bindrule id_chk, 'readers.ReaderID'2. 对数据库中某列设置其identity属性USE bookGOALTER TABLE readers ADD NUM INT IDENTITY(1, 1);3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)(1) 使用TSQLUSE bookGOCREATE FUNCTION Total_num()RETURNS INTAS BEGINDECLARE total_num INTSELECT total_num

4、 = COUNT(*) FROM BorrowInfoRETURN total_numENDGOPRINT '当前借阅总人数为:' + CAST(dbo.Total_num() AS VARCHAR)(2) 使用SSMS在对象资源管理器中,book数据库,“可编程性”,“函数”,右键“标量值函数”,单击“新建标量值函数”在查询框中出现模板,修改相关语句4. 在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)(1) TSQLCREATE FUNCTION Borrow_info()RETURNS borrow_info TABLE(B

5、orrowID VARCHAR(4) NOT NULL,ReaderID VARCHAR(8) NOT NULL,ReaderName VARCHAR(4) NOT NULL,ReaderSex VARCHAR(4) NOT NULL,ReaderType VARCHAR(20),ReaderTel VARCHAR(13),BookID VARCHAR(13) NOT NULL,BookName VARCHAR(30) NOT NULL,BookType VARCHAR(20) NOT NULL,BookAuthor VARCHAR(8) NOT NULL)ASBEGININSERT borr

6、ow_infoSELECT BorrowID, BorrowInfo.ReaderID, BorrowInfo.ReaderName, ReaderSex,ReaderType.TypeName, ReaderTel, BorrowInfo.BookID, BorrowInfo.BookName ,BookType.TypeName, BookAuthorFROM BorrowInfo, readers, Books, BookType, ReaderTypeWHERE BorrowInfo.ReaderID = readers.ReaderID AND readers.ReaderType

7、= ReaderType.TypeID AND BorrowInfo.BookID = Books.BookID AND Books.BookType = BookType.BookTypeID RETURN ENDGO(2) SSMS在对象资源管理器中,book数据库,“可编程性”,“函数”,右击“表值函数”,单击“新建多语句表值函数”修改查询窗口中出现的模板代码5. 在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)(1) TSQLCREATE FUNCTION Reader_Borrow_Info (Reader_id VARCHAR(8)RE

8、TURNS TABLE ASRETURN (SELECT BorrowInfo.ReaderID, BorrowInfo.ReaderName, BorrowInfo.BookID, BorrowInfo.BookNameFROM BorrowInfoWHERE ReaderID = Reader_id )GO(2) SSMS在对象资源管理器中,book数据库,“可编程性”,“函数”,右击“表值函数”,单击“新建内联表值函数”修改模板代码6. 对创建的各用户定义函数进行查看和修改(使用SSMS)(1) 查看(2) 修改右击目标函数,单击“修改”出现中间的相应函数代码查询对话框,修改相关代码如在

9、Reader_Borrow_Info()函数中添加一行BorrowDate,添加字段BorrowInfo.BorrowDate,然后点击执行,显示命令已成功完成7.使用TSQL对前面定义的函数进行删除USE book GODROP FUNCTION Total_num;DROP FUNCTION Borrow_info;DROP FUNCTION Reader_Borrow_Info;(续前表)四、测试数据和执行结果 (在给定数据下,执行操作、算法和程序的结果,可使用数据、图表、截图等给出)1、 使用TSQL创建规则,使id值范围为0到100,并将规则与readers表中的ReaderID列进

10、行绑定插入一行ReaderID为0111的数据,结果显示与规则发生冲突2、为Readers表添加一个标识符列标志reader在表中的序号SELECT一下可以看到,表中添加了一列自动增值的NUM列3、 在数据库中创建一个标量函数,返回当前借阅书籍的总人数可以看到结果显示总人数为8在对象资源管理器中可以看到相应函数4、在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)SELECT,出现了借阅的具体信息5、在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)SELECT学号为0001的同学的借阅书籍信息6、对创建

11、的各用户定义函数进行查看和修改(使用SSMS)对Reader_Borrow_Info()函数添加BorrowDate列之后,查询学号为0002的同学的借阅信息,则可看到多了一列借阅时间7、 删除函数在删除之前,三个函数都存在删除删除之后,在对象资源管理器中已经不存在用SELECT 语句查询,显示无效五、实验结果分析及总结(对实验的结果是否达到预期进行分析,总结实验的收获和存在的问题等)1、结果分析基本完成实验要求,达到预期效果。2、 实验总结(1) 关于规则,需要知道:规则是作为单独的对象创建,然后绑定到列上。一个列只能应用一个规则,但可以应用多个CHECK 约束。(2) 建好表后先把标识列设置了,以免后续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论