数据库实验二89342(9页).doc

上传人:1595****071 文档编号:36346257 上传时间:2022-08-26 格式:DOC 页数:9 大小:37.50KB
返回 下载 相关 举报
数据库实验二89342(9页).doc_第1页
第1页 / 共9页
数据库实验二89342(9页).doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《数据库实验二89342(9页).doc》由会员分享,可在线阅读,更多相关《数据库实验二89342(9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-仲恺农业工程学院实验报告纸信息科学与技术 学院 网络工程 专业 131 班 组 数据库原理及应用 课学号 201320254123 姓名 苏德 实验日期 2015.10.26 教师评定 实验二 数据查询与修改一、实验目的1、 掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法2、 掌握应用SQL进行数据更新的方法;3、 掌握视图的创建与更新方法。二、 实验内容第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题:1、数据库原理及应用实验指导P45 1.数据查询练习(1)-(6)(1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。(2)查询已经超期一个月以上的还

2、未归还图书的用户借书证编号。(3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。(4)查询在同一天借阅了不同图书的用户借书证号。(5)查询借书从来没有被超期罚款的用户信息。(6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。分析:先找出图书价格超过“50”的图书的所购册书 假设a要查的是所购册数= any a 的图书的价格第一部分:实验2.2 数据修改1. 使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借图书:0)。问:本题可以省略into

3、子句中的属性名吗?如果要省略,需要注意什么?2. 向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为:gfgypublish。3. 对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。4. 读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键

4、是获取后将其存入一些变量中即可5. 使用SQL语句将所有读者借书应归还日期向后延长一天。6. 将“清华大学出版社”的图书所购册书和库存册书增加10本。7. 删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。8. 删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。第二部分:实验2.3 视图1. 使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。2. 创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一

5、个视图。3. 创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。4. 创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。5. 查询用户“ZhangQF”所借图书的名称。6. 删除视图View_Publish。第四部分:为选做题使用附加方式恢复数据库student-course,然后完成下述各题1. 查询计算机系(CS)、年龄在21岁以上的学生的姓名、年龄、出生年份;可能会用到函数getdate()以及Year()2. 查询信息系(IS)和计算机(CS)系学生年龄不在2123岁之间的学生的姓名、系别和年龄;3. 查询所有

6、名字里面第二个字为“敏”的学生的姓名、学号和性别;4. 查询选修了4号课程的学生的学号和成绩,查询结果按学号的升序和分数的降序排序;5. 查询出超过2个人选修且平均成绩大于82分的课程号和平均分。6. 数据结构成绩高于平均分(数据结构)的学生名字、系别。本题若改为:查询数据结构成绩高于它自己所选修课程的平均分的学生名字、系别,该怎么写查询语句。7. 查询出所有课程平均成绩高于张立平均成绩的同学姓名。三、 实验步骤1.1select UserID,FineMoneyfrom ExtraDateFeeOrder by FineMoney desc1.2select BookIDfrom Borro

7、wHistorywhere BorrowReturnDate-BorrowEndDate30;1.3select Users.UserID,UserTelephone,BookNamefrom Book,BorrowHistory,Userswhere BorrowHistory.BorrowReturnDate-BorrowHistory.BorrowEndDate30 and BorrowHistory.bookID=Book.bookID and Users.UserID=BorrowHistory.UserID;1.4select distinct B1.UserIDfrom borr

8、ow B1,borrow B2where B1.BookID!=B2.BookID and year(B1.BorrowBeginDate)=year(B2.BorrowBeginDate)and month(B1.BorrowBeginDate)=month(B2.BorrowBeginDate)and day(B1.BorrowBeginDate)=day(B2.BorrowBeginDate);1.5select *from Userswhere not exists (select UserIDfrom ExtraDateFeewhere ExtraDateFee.UserID=Use

9、rs.UserID);1.6select B1.BookPricefrom Book B1where B1.BookNum =(select B2.BookNumfrom Book B2where BookPrice50)2.1insert into Users(UserID,UserPassword,UserPower,UserName,UserSex,UserDepart,UserBorrowedBooks)values(LiS,1,2,李生,0,计算系,0);2.2insert into Publish(PublishID,PublishName,PublishAddress,Publi

10、shTelephone,PublishEmail,PublishPostCode)values(3,国防工业出版社,北京市海淀大街籍海楼, ,gfgypublish, );2.3selectBookPublishID,SUM(BookNum)AsTotalBook,SUM(BookNum*BokPrice)asTotalPriceintoTemp_CNTBKfromBookgroupbyBookPublishID2.4insertintoBorrowvalues(1,ZouY,3,getdate(),getdate()+60,LuoHH)updateBooksetBookCurNum=Book

11、CurNum-1whereBookName=VisualFoxPro及其应用系统开发2.5updateBorrowsetBorrowEndDate=BorrowEndDate-12.6updateBooksetBookNum=BookNum+10,BookCurNum=BookCurNum+10whereBookPublishIDin(selectPublishIDfromPublishwherePublishName=清华大学出版社)2.7deletefromExtraDateFeewhereBorrowReturnDate2009-04-17andBookIDin(selectBookID

12、fromBookwhereBookName=%数据库%)2.8deletefromPublishwherePublishName=机械工业出版社3.13.2createviewV_publish(PublishID,maxBookPrice,minBookPrice)asselectBookPublishID,max(BookPrice),min(BookPrice)fromBookgroupbyBookPublishID3.3createview V_Book(BookName,SumBookName)asselect BookName,sum(BookPrice*BookNum)fromV

13、iew_BookwhereBookIDin(selectBookIDfromBookwhere BookPublishID in(selectPublishIDfrom PublishwherePublishName=清华大学出版社)groupbyBookName3.4createviewV_Users(UserID,UserName,BookName)asselectUsers.UserID,UserName,BookNamefromUsers,Book,BorrowwhereUsers.UserID=Borrow.UserIDandBook.BookID=Borrow.BookIdcrea

14、teviewV_Users(UserID,UserName,BookName)asselectUsers.UserID,UserName,BookNamefromUsers,Book,BorrowwhereUsers.UserIDin(selectUserIDfromBorrow)andBook.BookIDin(selectBookIDfromBorrow)3.5selectBookNamefromV_UserswhereUserID=ZhangQF3.6DropViewView_Public四、 实验总结1.用T-SQL语句对数据库进行插入、更新和删除操作,让我们更加熟悉SQL语言对数据库进行基本的操作。2.DBMS在执行插入语句时会检查所插入元组是否破坏表上已定义的完整性规则,包括实体完整性、参照完整性、和用户自定义的完整性。3.在修改数据时DBMS同样会对数据库的完整性进行检查。4.DBMS在执行删除语句时,会检查所删除元组是否破坏表上已定义的参照完整性规则,检查是否不允许删除或是需要级联删除。-第 9 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁