文档详情

sql-server-图书馆管理系统习题-带答案说课材料.pdf

发布:2025-02-07约4.97千字共4页下载文档
文本预览下载声明

sql-server-图书馆管理系统习题-带答案说课材料--第1页

学习好资料

习题:

已知关系模式:

CARD(CNO,NAME,CLASS)

借书卡关系。CNO卡号,NAME姓名,CLASS班级

BOOKS(BNO,BNAME,AUTHOR,PRICE,QUANTITY)

图书关系。BNO书号,BNAME书名,AUTHOR作者,PRICE单价,

QUANTITY库存册数

BORROW(CNO,BNO,RDATE)

借书记录关系。CNO借书卡号,BNO书号,RDATE还书日期

说明:限定每人每种书只能借一本;库存册数随借书、还书而改变。

要求实现如下12个处理:

1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和外码参

照完整性约束。

2.找出借书超过5本的读者,输出借书卡号及所借图书册数。

3.查询借阅了水浒一书的读者,输出姓名及班级。

4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。

5.查询书名包括网络关键词的图书,输出书号、书名、作者。

6.查询现有图书中价格最高的图书,输出书名及作者。

7.查询当前借了计算方法但没有借计算方法习题集的读者,输出其借书卡

号,并按卡号降序排序输出。

8.将班同学所借图书的库存册数都增加100本。

9.从BOOKS表中删除当前无人借阅的图书记录。

10.建立一个视图,显示班学生的借书信息(只要求显示姓名和书名)。

11.查询当前同时借有计算方法和组合数学两本书的读者,输出其借书卡

号,并按卡号升序排序输出。

12.对CARD表做如下修改:

a.将NAME最大列宽增加到10个字符(假定原为6个字符)。

b.为该表增加1列NAME(系名),可变长,最大20个字符

代码:

1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性

约束

--实现代码:

CREATETABLEBORROW(

CNOintFOREIGNKEYREFERENCESCARD(CNO),

BNOintFOREIGNKEYREFERENCESBOOKS(BNO),

更多精品文档

sql-server-图书馆管理系统习题-带答案说课材料--第1页

sql-server-图书馆管理系统习题-带答案说课材料--第2页

学习好资料

RDATEdatetime,

PRIMARYKEY(CNO,BNO))

2.找出借书超过5本的读者,输出借书卡号及所借图书册数

--实现代码:

SELECTCNO,借图书册数=COUNT(*)

FROMBORROW

GROUPBYCNO

HAVINGCOUNT(*)5

3.查询借阅了水浒一书的读者,输出姓名及班级

--实现代码:

SELECT*FROMCARDc

WHEREEXISTS(

SELECT*FROMBORROWa,BOOKSb

WHEREa.BNO=b.BNO

ANDb.BNAME=N水浒

ANDa

显示全部
相似文档