58.(25
分)
某图书馆的数据库有如下关系:读者R
,书籍B
,出版社P;
读者借阅书籍产生新的关系“借阅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 001’
号和’B 002’
号两本书的读者姓名和读者电话
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.
查询出有借阅过书籍编号为‘B 003 ’ ,但没有借阅过书籍编号为‘B 009 ’ 书籍的读者姓名和读者电话。
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
”销售的商品的商品号和商品名.