资源描述:
《数据完整性检验实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、专业课程实验报告课程名称:数据库系统概论开课学期:2014至2015学年第2学期专业:电子商务年级班级:学生姓名:学号:实验教师:计算机与信息科学学院软件学院实验项目名称数据完整性检验实验时间2015年4月28日实验类型□验证性□设计性□综合性一、实验目的1、理解与掌握数据库完整性原因;2、掌握数据库完整性的控制手段;3、会用SQLServer2008进行数据库完整性相关的实践;4、能够利用SSMS和TSQL自定义用户函数,实现完整性控制。二、实验要求针对图书管理系统book数据库1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑
2、定2.对数据库中某列设置其identity属性3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)4.在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)5.在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)6.对创建的各用户定义函数进行查看和修改(使用SSMS)7.使用TSQL对前面定义的函数进行删除三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码)1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑定U
3、SEbookGOCREATERULEid_chkAS@idBETWEEN0000AND0100GOsp_bindruleid_chk,'readers.ReaderID'2.对数据库中某列设置其identity属性USEbookGOALTERTABLEreadersADDNUMINTIDENTITY(1,1);3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)(1)使用TSQLUSEbookGOCREATEFUNCTIONTotal_num()RETURNSINTASBEGINDECLARE@total_n
4、umINTSELECT@total_num=COUNT(*)FROMBorrowInfoRETURN@total_numENDGOPRINT'当前借阅总人数为:'+CAST(dbo.Total_num()ASVARCHAR)(2)使用SSMS在对象资源管理器中,book数据库,“可编程性”,“函数”,右键“标量值函数”,单击“新建标量值函数”在查询框中出现模板,修改相关语句4.在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)(1)TSQLCREATEFUNCTIONBorrow_info()
5、RETURNS@borrow_infoTABLE(BorrowIDVARCHAR(4)NOTNULL,ReaderIDVARCHAR(8)NOTNULL,ReaderNameVARCHAR(4)NOTNULL,ReaderSexVARCHAR(4)NOTNULL,ReaderTypeVARCHAR(20),ReaderTelVARCHAR(13),BookIDVARCHAR(13)NOTNULL,BookNameVARCHAR(30)NOTNULL,BookTypeVARCHAR(20)NOTNULL,BookAuthorVARCHAR(
6、8)NOTNULL)ASBEGININSERT@borrow_infoSELECTBorrowID,BorrowInfo.ReaderID,BorrowInfo.ReaderName,ReaderSex,ReaderType.TypeName,ReaderTel,BorrowInfo.BookID,BorrowInfo.BookName,BookType.TypeName,BookAuthorFROMBorrowInfo,readers,Books,BookType,ReaderTypeWHEREBorrowInfo.ReaderID=r
7、eaders.ReaderIDANDreaders.ReaderType=ReaderType.TypeIDANDBorrowInfo.BookID=Books.BookIDANDBooks.BookType=BookType.BookTypeIDRETURNENDGO(1)SSMS在对象资源管理器中,book数据库,“可编程性”,“函数”,右击“表值函数”,单击“新建多语句表值函数”修改查询窗口中出现的模板代码5.在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)(1)TSQLCREATEFU
8、NCTIONReader_Borrow_Info(@Reader_idVARCHAR(8))RETURNSTABLEASRETURN(SELECTBorrowInfo.ReaderID,Bor