数据库期末复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

企业中小型数据库系统开发期末复习题选择、填空题参照课后习题中的题目。三、简答题1、DBS由哪几个部分组成?数据库、数据库管理系统、数据库应用系统、数据库管理员2.数据库的并发操作会带来数据不一致性有哪些问题?丢失更新、不可重复读、脏读和幻读。3.请叙述数据库设计的六个步骤。(1)需求分析(2)概念设计(3)逻辑设计(4)物理设计(5)数据库实施(6)数据库运行和维护4.数据库的完整性约束有哪三个?实体完整性。参照完整性用户自定义完整性5.请详细叙述三级封锁协议。三级封锁协议在二级封锁协议的基础上,再规定S锁必须在事务T结束后才能释放。如果未获准加S锁,则该事务T进入等待状态,直到获准加X锁后该事务才继续执行。三级封锁协议除了能防止丢失修改和读“脏”数据的问题之外,还能解决不可重复读的问题。但是带来了其它问题:死锁和活锁。6.数据库技术的发展经历了哪三个阶段?人工管理阶段,文件系统阶段,数据库系统阶段。四、本题用到下面三个关系表:CARD借书卡:CNO卡号,NAME姓名,CLASS班级BOOKS图书:BNO书号,BNAME书名,AUTHOR作者,PRICE单价,QUANTITY库存册数BORROW借书记录:CNO借书卡号,BNO书号,RDATE还书日期备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。要求用SQL语句实现下列题目:1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。createtableborrow(cnointnotnullforeignkeyreferencescard(cno),bnointnotnullforeignkeyreferencesbooks(bno),rdatedatetime,primarykey(cno,bno)))2.找出借书超过5本的读者,输出借书卡号及所借图书册数。SELECTCNO,借图书册数=COUNT(*)FROMBORROWGROUPBYCNOHAVINGCOUNT(*)53.查询借阅了水浒一书的读者,输出姓名及班级。selectcname,classfromcardwherecnoin(selectcnofromborrowwherebno=(selectbnofrombookswherebname='水浒'))4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。select*fromborrowwhererdategetdate()5.查询书名包括网络关键词的图书,输出书号、书名、作者。selectbno,bname,authorfrombookswherebnamelike'%网络%'6.查询现有图书中价格最高的图书,输出书名及作者。selectbname,authorfrombookswherepricein(selectmax(price)frombooks)7.查询当前借了计算方法但没有借计算方法习题集的读者,输出其借书卡号,并按卡号降序排序输出。8.将C01班同学所借图书的还期都延长一周。updateborrowsetrdate=dateadd(dd,7,rdate);UPDATEbSETRDATE=DATEADD(Day,7,b.RDATE)FROMCARDa,BORROWbWHEREa.CNO=b.CNOANDa.CLASS=N'C01'9.从BOOKS表中删除当前无人借阅的图书记录。10.建立一个视图,显示力01班学生的借书信息(只要求显示姓名和书名)。11.查询当前同时借有计算方法和组合数学两本书的读者,输出其借书卡号,并按卡号升序排序输出。12.假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句。13.对CARD表做如下修改:a.将NAME最大列宽增加到10个字符(假定原为6个字符)。b.为该表增加1列NAME(系名),可变长,最大20个字符。14.创建一个触发器,要求库存册数在输入时不能为负数,如果为负数则取消操作。五、现有图书借阅关系数据库如下:图书(图书号、书名,作者,单价,库存量)读者(读者号,姓名,工作单位,地址)借阅(图书号,读者号,借期,还期,备注)其中:还期为NULL表示该书未还。用关系代数表达式实现下列1-4小题:1、检索读者号为R016的读者姓名、工作单位;select姓名,工作单位from读者where读者号='R016'2、检索借阅图书号为B5的读者姓名;select姓名from读者where读者号in(select读者号from借阅where图书号='B5')3、检索读者“李林”所借图书的书名;select图书.书名from图书,读者,借阅where读者.姓名='李林'and读者.读者号=借阅.读者号and借阅.读书号=图书.图书号4、检索读者“李林”所借图书中未还的书名;select图书.书名from图书,读者,借阅where读者.姓名='李林'and还期isnulland读者.读者号=借阅.读者号and借阅.读书号=图书.图书号用SQL语言实现下列5-10小题:5、检索读者号为R016的读者姓名、工作单位;6、检索借阅图书号为B5的读者姓名;7、检索读者“李林”所借图书的书名;8、检索读者“李林”所借图书中未还的书名;9、将读者“李林”所借图书的信息从借阅表中删除;deletefrom借阅where读者号in(select读者号from读者where姓名='李林')10、建立未还图书的读者姓名和单位视图。createviewviewnameasselect读者.姓名,读者.工作单位from读者,借阅where读者.读者号=借阅.读者号and还期isnull六、操作题有如下三个关系R、S、T,请写出下列表达式的运行结果。R表ABCabcbdacbcedbS表ABCcacbacbdaedbT表BCbc(1)σB’c’(R)ABCbdaedb(2)σB’c’∧A’a’(R)ABCbdaedb(3)∏C(S)Cccab(4)R×SABCABCabccacabcbacabcbdaabcedbbdacacbdabacbdabdabdaedbcbccaccbcbaccbcbdacbcedbedbcacedbbacedbbdaedbedb(5)R∞S(6)R*∞S(7)R÷S(8)R∩S(9)R∪S七、画图题一个图书借阅管理数据库要求提供下述服务:(1)可以随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。(2)可以随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。我们约定:任何人可借多种书,任何一种书可以为多人所借,借书证号具有唯一性。(3)当需要时,可通过数据库中保存出版社的电报编号、电话、邮编及地址等信息向相应出版社购有关书籍。我们约定:一个出版社可以出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上情况和假设,试作如下设计:(1)构造满足需要的E-R图。(2)转换为等价的关系模式结构。图书借阅E-R图转换为等价的关系模型结构如下:借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电话,邮编,地址,E-mail)借阅(借书证号,书号,借书日期,还书日期)八、将以下E-R模型转换为关系模型借书人图书借阅借书证号姓名单位书号书名数量位置n借书日期还书日期出版社出版社名地址邮编电话E-lmail出版n1图书借书人借阅姓名单位借书证号借书日期分类号书名作者价格位置总编号mn还书日期借书人(姓名,单位,借书证号(主键))借阅(借书证号、总编号、借书日期,还书日期)图书(总编号(主键),分类号,书名,作者,价格,位置)

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功