全球旧事资料 分类
Oracle式
学号_____________________________________姓名________________分数_
一按照题意写出SQL语句45分每题3分
本题用到下而三个关系表:借书卡carde
o卡号
ame姓名,class班级图书booksb
o书号,b
ame书名,author作者,price单价qua
tity库存册数借书记录borrowe
o借书卡号b
o书号,rdate还书曰期
注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
1写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束createtablecarde
ochar6primarykey
amevarchar210classvarchar212createtablebooksb
ochar8primarykeyb
amevarchar250authorvarchar210price
umber53qua
tity
umber4createtableborrowe
ochar6refere
cescarde
oo
deletecascadeb
ochar8refere
cesbooksb
oo
deletecascaderdatedateprimarykeye
ob
o2找出借书超过5本的读者,输出借书卡号及所借图书册数。selecte
ocou
t册数fromborrowgroupbye
ohavi
gcou
t53查询借阅了“水浒’’一书的读者,输出姓名及班级。select
ameclassfromcardwheree
oi
selecte
ofromborrowwhereb
o
selectb
ofrombookswhereb
ame’水游,
1杏询过期未还图书,输出借阅者(卡号)、书号及还书曰期。
fselectce
ob
ordatefromcardcborrowbwherecc
obe
oa
dbrdatesysdate5查询书名包括“网络”关键同的图书,输出书号、书名、作者。selectb
ob
ameauthorfrombookswhereb
amelike’%网络%’;6查卸现有图书中价格最高的图书,输出书名及作者。selectb
ameauthorfrombookswherepricei
selectmaxpricefrombooks
7查询当前借了“计算方法”但没有借“计算方法习题集”的读者,输出其借书卡号,并按卡号降序排序输出。selecte
ofromborrowwhereb
o
selectb
ofrombookswhereb
ame,计算方法,a
db
o
oti
selectb
ofrombookswhereb
ame’计算机方法习题集’
orderbye
odesc
将“cor班同学所借图书的还期都延长一周。updateborrowsetrdaterdate7wheree
oi
selecte
ofromcardwhereclass,cOl’
commit
9从books表中删除当前无人借阅的图书记录。selectfrombookswhereb
o
oti
selectb
ofromborrow
10如果经常按书名查询图书信息,清建立合适的索引。createi
dexb
ame_idxo
booksb
ame
11在borrow表上建立一个触发器,完成如下功能:如果读者借阅的书名是“数据库技术及应
f用”,就将该读者的借阅记录保存在borrow_save表中注:borrow_save表结构同borrow表。
createtableborrow_saveasselectfromborrow
deleteborrow_savecommitcreateorreplacetriggerborrow_i
afteri
serto
borrowforeachrowdeclaresbooksb
otypebegi
selectb
or
好听全球资料 返回顶部