读者借阅书籍产生新的关系“借阅RB”;



一个出版社可以出版多本书籍,一本书籍只能由一个出版社出版;




关系模式如下:




R(Rid, Rname, RIDcard, Rphone), 属性分别表示:读者编号,读者姓名,读者×××号,读者电话;




B(Bid, Bname, Bauthor, BpublishDate, Bprice, Pid),属性分别表示:书籍编号,书籍名称,作者,出版日期书籍价格,出版社编号;




P(Pid, Pname),属性分别表示:出版社编号,出版社名称;




RB(RBid, Rid, Bid, RBborrowDate, RBstate),属性分别表示:借阅编号,读者编号,书籍编号,借阅日期,借阅状态;




1.       为了提高查询速度,需要在RB表上通过Rid和Bid两个字段建立一个索引,索引名IX_RB,请写出创建此索引的SQL语句。




2.       为了方便查询出读者,书籍和借阅表的数据,请通过关系R,B和RB三个关系做内连接操作,创建一个视图,视图名为VIEW_RB,请写出创建此视图的SQL语句。




3.       通过VIEW_RB查询出被借阅次数超过(包括)100次的书籍名称。(在书籍B中Bname属性值是唯一的)




4.       查询出有借阅过书籍编号为’B<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />001’号和’B002’号两本书的读者姓名和读者电话




5.       查询出书籍名称中包含有‘数据库’三个字符的所有书籍名称和作者




6.       请把读者编号为‘R012’的读者电话修改为‘0123-12345678’。




7.       查询出‘福建出版社’出版的价格最贵的3本书的书籍名称和书籍价格。




59.设有关系R(V,W,X,Y,Z),各个属性的函数依赖集合有F={WX→Y,    Z→V,   X→Z},问:(1+1+4分)




1.关系R的候选码是什么?




2.关系R的范式等级是什么?




3.关系R是否达到3NF?如果没有,请把关系R进行分解,使分解后的关系达到3NF,写出分解后的关系。













60.使用关系代数描述下列查询:(关系数据库模式同第30题(3+3+3分)




1.查询出借阅状态为‘借出’的书籍名称。




2.查询出‘张三’所借阅过的所有书籍的名称。




3.查询出有借阅过书籍编号为‘B003’,但没有借阅过书籍编号为‘B009’书籍的读者姓名和读者电话。










61.某商业集团的数据库有如下四个基本表:(本大题25分)




商店表:A(ANO,ANAME,ADDR),属性分别为:商店号,商店名,地址;




职员表:B(BNO, BNAME, SEX, AGE, ANO, SALARY)其属性分别为:职员编号,姓名,性别,年龄,商店号,工资;




商品表:C(CNO, CNAME, PRICE)其属性分别为:商品号,商品名,单价;




销售表:D(ANO, CNO,QUANTITY)属性分别为:商店号,商品号,销售数量。




1.       查询性别是‘W’的职员的姓名,年龄,工资;




2.       查询工资在3000元(含3000元)以上的职员的姓名,商店名;




3.       查询销售总量前十名的商店号及销售总量;




4.       查询没有销售“光盘”记录的商店名称




5.       将职员编号为“012”的工资在原有的基础上增加15%




6.       给销售表添加一个销售时间DATET字段;




7.       在商店表中,创建一个名为VIEW_1的视图,实现查询商店地址为以“FU”打头的商店名,地址










62.设有关系R(A, B, C, D, E),各属性的函数依赖集合有F={AB→C,B→D,D→E},问:(1+2+3分)




1.关系R的候选键是什么?




2.若将关系R分解成R1(A, B, C)及R2(B, D, E),请分别写出关系R1和R2的范式等级。




3.将关系R分解到3NF










63.使用关系代数描述下列查询:(关系数据库模式同29题)(3+3+3分)




1.查询出年龄在20到30之间的职员的姓名,性别;




2.查询出销售数量大于5件的商品名及单价;




3.查询出商店名为“BAIAI”销售的商品的商品号和商品名.



转载于:https://blog.51cto.com/qianshao/255583