数据完整性检验实验报告参考模板.docx
《数据完整性检验实验报告参考模板.docx》由会员分享,可在线阅读,更多相关《数据完整性检验实验报告参考模板.docx(14页珍藏版)》请在冰豆网上搜索。
![数据完整性检验实验报告参考模板.docx](https://file1.bdocx.com/fileroot1/2022-10/20/1f3e17e7-e3cd-4818-bb64-bec379994216/1f3e17e7-e3cd-4818-bb64-bec3799942161.gif)
数据完整性检验实验报告参考模板
专业课程实验报告
课程名称:
数据库系统概论
开课学期:
2014至2015学年第2学期
专业:
电子商务年级班级:
2013
学生姓名:
XXX学号:
XXX
实验教师:
XXX
计算机与信息科学学院软件学院
实验项目名称
数据完整性检验
实验时间
2015年4月28日
实验类型
□验证性□设计性□综合性
一、实验目的
1、理解与掌握数据库完整性原因;
2、掌握数据库完整性的控制手段;
3、会用SQLServer2008进行数据库完整性相关的实践;
4、能够利用SSMS和TSQL自定义用户函数,实现完整性控制。
二、实验要求
针对图书管理系统book数据库
1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑定
2.对数据库中某列设置其identity属性
3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)
4.在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)
5.在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)
6.对创建的各用户定义函数进行查看和修改(使用SSMS)
7.使用TSQL对前面定义的函数进行删除
三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码)
1.使用TSQL创建规则并将规则与数据库表格中的某列进行绑定
USEbook
GO
CREATERULEid_chkAS@idBETWEEN0000AND0100
GO
sp_bindruleid_chk,'readers.ReaderID'
2.对数据库中某列设置其identity属性
USEbook
GO
ALTERTABLEreadersADDNUMINTIDENTITY(1,1);
3.在数据库中创建一个标量函数,返回当前借阅书籍的总人数(使用TSQL和SSMS)
(1)使用TSQL
USEbook
GO
CREATEFUNCTIONTotal_num()
RETURNSINT
AS
BEGIN
DECLARE@total_numINT
SELECT@total_num=COUNT(*)FROMBorrowInfo
RETURN@total_num
END
GO
PRINT'当前借阅总人数为:
'+CAST(dbo.Total_num()ASVARCHAR)
(2)使用SSMS
在对象资源管理器中,book数据库,“可编程性”,“函数”,右键“标量值函数”,单击“新建标量值函数”
在查询框中出现模板,修改相关语句
4.在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)
(1)TSQL
CREATEFUNCTIONBorrow_info()
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(8)NOTNULL
)
AS
BEGIN
INSERT@borrow_info
SELECTBorrowID,BorrowInfo.ReaderID,BorrowInfo.ReaderName,ReaderSex,ReaderType.TypeName,ReaderTel,
BorrowInfo.BookID,BorrowInfo.BookName,BookType.TypeName,BookAuthor
FROMBorrowInfo,readers,Books,BookType,ReaderType
WHEREBorrowInfo.ReaderID=readers.ReaderID
ANDreaders.ReaderType=ReaderType.TypeID
ANDBorrowInfo.BookID=Books.BookID
ANDBooks.BookType=BookType.BookTypeID
RETURN
END
GO
(2)SSMS
在对象资源管理器中,book数据库,“可编程性”,“函数”,右击“表值函数”,单击“新建多语句表值函数”
修改查询窗口中出现的模板代码
5.在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)
(1)TSQL
CREATEFUNCTIONReader_Borrow_Info(@Reader_idVARCHAR(8))
RETURNSTABLE
AS
RETURN
(
SELECTBorrowInfo.ReaderID,BorrowInfo.ReaderName,BorrowInfo.BookID,BorrowInfo.BookName
FROMBorrowInfo
WHEREReaderID=@Reader_id
)
GO
(2)SSMS
在对象资源管理器中,book数据库,“可编程性”,“函数”,右击“表值函数”,单击“新建内联表值函数”
修改模板代码
6.对创建的各用户定义函数进行查看和修改(使用SSMS)
(1)查看
(2)修改
右击目标函数,单击“修改”
出现中间的相应函数代码查询对话框,修改相关代码
如在Reader_Borrow_Info()函数中添加一行BorrowDate,添加字段BorrowInfo.BorrowDate,然后点击执行,显示命令已成功完成
7.使用TSQL对前面定义的函数进行删除
USEbook
GO
DROPFUNCTIONTotal_num;
DROPFUNCTIONBorrow_info;
DROPFUNCTIONReader_Borrow_Info;
(续前表)
四、测试数据和执行结果(在给定数据下,执行操作、算法和程序的结果,可使用数据、图表、截图等给出)
1、使用TSQL创建规则,使id值范围为0到100,并将规则与readers表中的ReaderID列进行绑定
插入一行ReaderID为‘0111’的数据,结果显示与规则发生冲突
2、为Readers表添加一个标识符列标志reader在表中的序号
SELECT一下可以看到,表中添加了一列自动增值的NUM列
3、在数据库中创建一个标量函数,返回当前借阅书籍的总人数
可以看到结果显示总人数为8
在对象资源管理器中可以看到相应函数
4、在数据库中创建一个多语句表值函数,罗列出借阅书籍的人员信息以及书籍信息(使用TSQL和SSMS)
SELECT,出现了借阅的具体信息
5、在数据库中创建一个内联表值函数,罗列出某一借书人员及其对应的书籍信息(使用TSQL和SSMS)
SELECT学号为‘0001’的同学的借阅书籍信息
6、对创建的各用户定义函数进行查看和修改(使用SSMS)
对Reader_Borrow_Info()函数添加BorrowDate列之后,查询学号为‘0002’的同学的借阅信息,则可看到多了一列借阅时间
7、删除函数
在删除之前,三个函数都存在
删除
删除之后,在对象资源管理器中已经不存在
用SELECT语句查询,显示无效
五、实验结果分析及总结(对实验的结果是否达到预期进行分析,总结实验的收获和存在的问题等)
1、结果分析
基本完成实验要求,达到预期效果。
2、实验总结
(1)关于规则,需要知道:
规则是作为单独的对象创建,然后绑定到列上。
一个列只能应用一个规则,但可以应用多个CHECK约束。
(2)建好表后先把标识列设置了,以免后续出现问题。
(3)使用TSQL语句时,要注意函数中指定的返回表的列中列数据类型和后面SELECT中的数据类型要保持一样,不然会造成某个字段的长度比要插入给该字段的值的长度短。
教
师
评
阅
实验内容和设计(A-E):
操作过程、算法或代码(A-E):
实验结果(A-E):
实验分析和总结(A-E):
实验成绩(A-E):
反馈评语:
友情提示:
范文可能无法思考和涵盖全面,供参考!
最好找专业人士起草或审核后使用,感谢您的下载!