图书管理系统综合习题Word下载.doc
- 文档编号:1499892
- 上传时间:2023-04-30
- 格式:DOC
- 页数:6
- 大小:56.50KB
图书管理系统综合习题Word下载.doc
《图书管理系统综合习题Word下载.doc》由会员分享,可在线阅读,更多相关《图书管理系统综合习题Word下载.doc(6页珍藏版)》请在冰点文库上搜索。
经过分析,一个学生可以借阅多本图书,一本图书也可以被多个
系统包含的实体有学生和图书,两个实体之间通过借阅发生联系,联系的类型为多对多。
其对应的E-R模型如图1所示。
m
n
借书时间
图书
借阅
读者
还书时间
图1系统E-R模型
2.3数据库逻辑模型设计
根据数据库逻辑结构设计结果,在SQLServer2005数据库管理系统中,创建Library数据库,并在该数据库中创建3张数据表,分别为学生表student、图书表book、借阅表borrow,表结构如表1至表3所示。
表1读者表reader
字段名
数据类型
长度
约束
备注
ReaderId
char
12
主键
借书证号
Sname
Varchar
10
非空
姓名
Ssex
Char
2
默认值为“男”
性别
Sbirthday
Datetime
出生日期
Saddress
50
住址
表2图书表book
Bno
20
图书编号
Bname
图书名
Bauthor
图书作者
Bprice
tinyint
图书价格
Bcategory
图书类别
Bpressday
出版日期
Bpress
出版社
表3借阅表borrow
长度与格式
主键,外键
ReaderId
学号
Borrowday
Returnday
确认转换生成的3个关系模式都符合第三范式。
3SQL语句练习
1.写出创建学生表student、借阅表borrow的SQL语句。
2.查询每个学生的基本信息,按学号升序排序。
3.查询每个学生的借阅情况(学号、姓名、书号、借书日期、还书日期),包括没有借书的学生的借阅情况。
4.查询每本图书被借阅的情况,包括没有被借阅的图书情况。
5.查询同名的图书。
6.查询借阅过“高等教育出版社”出版的图书的学生信息。
7.查询没有借过书的学生信息。
8.查询图书的总册数、最高价、最低价、总价值和平均价。
9.查询定价在30到40元之间的图书信息。
10.查询书名以“数据库”起始的图书信息。
11.统计各出版社图书的数量。
12.统计每本书的借阅次数。
13.查询每本书的基本信息,按价格降序排序。
14.统计每个学生的借书数量。
(包括已经还的书和正在借的书)
15.将“人民邮电出版社”出版的图书的价格减少3元。
16.删除没有人借阅的图书信息。
17.删除图书“数据库基础及应用”的借阅信息。
18.创建一个视图,查询每个男生的借阅情况(学号,书号,借书日期,还书日期)。
然后使用该视图,统计每个男生的借书数量。
1.写出创建读者表reader、图书表book、借阅表borrow的SQL语句。
CREATETABLEstudent(
ReaderIdchar(12)PRIMARYKEY,
Snamevarchar(10)NOTNULL,
Ssexchar
(2)default'
男'
Sbirthdaydatetime,
Saddressvarchar(50)
)
CREATETABLEbook(
Bnovarchar(20)PRIMARYKEY,
Bnamevarchar(20)NOTNULL,
Bauthorvarchar(20),
Bpricetinyint,
Bcategoryvarchar(10),
Bpressdaydatetime,
Bpressvarchar(10)
)
CREATETABLEborrow(
Bnovarchar(20),
ReaderIdchar(12),
Borrowdaydatetime,
Returndaydatetime,
PRIMARYKEY(Bno,ReaderId,Borrowday),
FOREIGNKEY(Bno)
REFERENCESbook(Bno),
FOREIGNKEY(ReaderId)
REFERENCESstudent(ReaderId)
select*fromstudent
orderbyReaderId
3.查询每个学生的借阅情况(学号、姓名、书号、借书日期、还书日期),包括没有借书的学生信息。
selects.ReaderId,sname,bno,borrowday,returnday
fromstudentsleftjoinborrowons.ReaderId=borrow.ReaderId
select*frombookbleftjoinborrowonb.bno=borrow.bno
selectdistinctb1.bno,b1.bnamefrombookb1joinbookb2onb1.name=b2.name
select*fromstudentsjoinonborrowons.ReaderId=borrow.ReaderId
joinonbookbonb.bno=borrow.bno
wherebpress='
高等教育出版社'
whereReaderIdnotin(selectdistinctReaderIdfromborrow)
selectcount(bno),max(bprice),min(bprice),sum(bprice),avg(bprice)
frombook
select*frombook
wherebpricebetween30and40
wherebnamelike'
数据库%'
selectcount(bno)
groupbybpress
fromborrow
groupbybno
orderbybpricedesc
selectcount(ReaderId)
groupbyReaderId
updatebook
setbprice=bprice-3
人民邮电出版社'
deletefrombook
wherebnonotin(selectdistinctbnofromborrow)
17.删除书名为“数据库基础及应用”的图书信息。
deletefrombook
wherebname='
数据库基础及应用'
createviewv1
as
selectborrow.ReaderId,bno,borrowday,returndayfromborrowjoinstudentsonborrow.ReaderId=s.ReaderId
wheressex='
fromv1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 综合 习题