wpoAAA数据库实验二

上传人:日度 文档编号:136712488 上传时间:2020-07-01 格式:DOC 页数:9 大小:41.50KB
返回 下载 相关 举报
wpoAAA数据库实验二_第1页
第1页 / 共9页
wpoAAA数据库实验二_第2页
第2页 / 共9页
wpoAAA数据库实验二_第3页
第3页 / 共9页
wpoAAA数据库实验二_第4页
第4页 / 共9页
wpoAAA数据库实验二_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《wpoAAA数据库实验二》由会员分享,可在线阅读,更多相关《wpoAAA数据库实验二(9页珍藏版)》请在金锄头文库上搜索。

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为:。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. 创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。3. 创建一个基

5、于题目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 BorrowHistorywher

7、e 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 borrow B1,borrow

8、 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=Users.UserID);1

9、.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,PublishTelephone,

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

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

12、数据库%)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)fromView_BookwhereBookIDin(s

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

14、erName,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在执行删除语句时,会检查所删除元组是否破坏表上已定义的参照完整性规则,检查是否不允许删除或是需要级联删除。

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

当前位置:首页 > 中学教育 > 中学学案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号