图书管理系统综合习题_第1页
图书管理系统综合习题_第2页
图书管理系统综合习题_第3页
图书管理系统综合习题_第4页
图书管理系统综合习题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统1需求说明(分用户分解各项功能)图书管理系统包括图书管理,学生借阅图书管理两大功能,具体的业务功能 为:管理员进行新书入库管理员对图书基本信息进行修改管理员记录学生的借书信息和还书信息管理员对图书基本信息进行查询管理员对图书的借出还入情况进行查询管理员对学生的借书还书信息进行查询管理员对学生的基本信息进行查询2数据库设计实体属性分析由图1所示的E-R模型转换成的关系模式如下:读者(借书证号,姓名,性别,年龄,住址),借书证号设为主键; 图书(图书编号,图书名,图书作者,图书价格,图书类别,出版日期, 出版社),图书编号设为主键;数据库概念模型设计(E-R模型)经过分析,一个学生可以

2、借阅多本图书,一本图书也可以被多个系统包含的实体有学生和图书,两个实体之间通过借阅发生联系,联系的类型为 多对多。其对应的E-R模型如图1所示。图书、土 读者图1系统E-R模型数据库逻辑模型设计根据数据库逻辑结构设计结果,在 SQL Server2005数据库管理系统中,创 建Library数据库,并在该数据库中创建3张数据表,分别为学生表student、 图书表book、借阅表borrow,表结构如表1至表3所示。表1 读者表reader字段名数据类型长度约束备注ReaderIdchar12主键借书证号Sn ameVarchar10非空姓名SsexChar2默认值为“男”性别Sbirthda

3、yDatetime出生日期SaddressVarchar50住址表2 图书表book字段名数据类型长度约束备注BnoVarchar20主键图书编号Bn ameVarchar20非空图书名BauthorVarchar20图书作者Bpricetin yi nt图书价格BcategoryVarchar20图书类别BpressdayDatetime出版日期BpressVarchar20出版社表3 借阅表borrow字段名数据类型长度与格式约束备注BnoVarchar20主键,外键图书编号ReaderIdchar12主键,外键学号BorrowdayDatetime主键借书时间Retur ndayDate

4、time还书时间确认转换生成的3个关系模式都符合第三范式3 SQL语句练习1. 写出创建学生表student、借阅表borrow的SQL语句。2. 查询每个学生的基本信息,按学号升序排序。3. 查询每个学生的借阅情况(学号、姓名、书号、借书日期、还书日期),包 括没有借书的学生的借阅情况。4. 查询每本图书被借阅的情况,包括没有被借阅的图书情况。5. 查询同名的图书。6. 查询借阅过“高等教育出版社”出版的图书的学生信息。7. 查询没有借过书的学生信息。8. 查询图书的总册数、最高价、最低价、总价值和平均价。9. 查询定价在30到40元之间的图书信息。10. 查询书名以“数据库”起始的图书信息

5、。11. 统计各出版社图书的数量。12. 统计每本书的借阅次数。13. 查询每本书的基本信息,按价格降序排序。14. 统计每个学生的借书数量。(包括已经还的书和正在借的书)15. 将“人民邮电出版社”出版的图书的价格减少3元。16. 删除没有人借阅的图书信息。17. 删除图书“数据库基础及应用”的借阅信息。18. 创建一个视图,查询每个男生的借阅情况(学号,书号,借书日期,还书日 期)。然后使用该视图,统计每个男生的借书数量。 (包括已经还的书和正在借 的书)1. 写出创建读者表reader、图书表book、借阅表borrow的SQL语句。CREATE TABLE student (Reade

6、rId char (12) PRIMARY KEY,Sname varchar (10) NOT NULL,Ssex char (2) default '男',Sbirthday datetime,Saddress varchar (50)CREATE TABLE book (Bno varchar(20) PRIMARY KEY,Bname varchar(20) NOT NULL,Bauthor varchar(20),Bprice tinyint,Bcategory varchar(10),Bpressday datetime,Bpress varchar(10)CREA

7、TE TABLE borrow (Bno varchar(20),ReaderId char(12),Borrowday datetime,Returnday datetime,PRIMARY KEY (Bno,ReaderId,Borrowday),FOREIGN KEY (Bno )REFERENCES book(Bno ),FOREIGN KEY (ReaderId)REFERENCES student(ReaderId)2. 查询每个学生的基本信息,按学号升序排序。select * from studentorder by ReaderId3. 查询每个学生的借阅情况(学号、姓名、书号

8、、借书日期、还书日期),包 括没有借书的学生信息。select ,sname,bno,borrowday,returndayfrom student s left join borrow on =4. 查询每本图书被借阅的情况,包括没有被借阅的图书情况。 select * from book b left join borrow on =5. 查询同名的图书。select distinct , from book b1 join book b2 on =6. 查询借阅过“高等教育出版社”出版的图书的学生信息。select * from student s join on borrow on =

9、join on book b on =where bpress=' 高等教育出版社 '7. 查询没有借过书的学生信息。select * from student where ReaderId not in(select distinct ReaderId from borrow)8. 查询图书的总册数、最高价、最低价、总价值和平均价。 select count(bno),max(bprice),min(bprice),sum(bprice),avg(bprice) from book9. 查询定价在 30 到 40 元之间的图书信息。select * from bookwher

10、e bprice between 30 and 4010. 查询书名以“数据库”起始的图书信息。select * from bookwhere bname like ' 数据库 %'11. 统计各出版社图书的数量。select count(bno)from bookgroup by bpress12. 统计每本书的借阅次数。select count(bno)from borrowgroup by bno13. 查询每本书的基本信息,按价格降序排序。select * from bookorder by bprice desc14. 统计每个学生的借书数量。(包括已经还的书和正在借

11、的书)select count(ReaderId)from borrowgroup by ReaderId15. 将“人民邮电出版社”出版的图书的价格减少 3 元。update bookset bprice=bprice-3where bpress=' 人民邮电出版社 '16. 删除没有人借阅的图书信息。delete from bookwhere bno not in(select distinct bno from borrow)17. 删除书名为“数据库基础及应用”的图书信息。delete from bookwhere bname=' 数据库基础及应用 '18. 创建一个视图,查询每个男生的借阅情况(学号,书号,借书日期,还书日 期)。然后使用该视图,统计每个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论