(1)信息要求
图书的基本信息、读者的基本信息、读者借阅图书的信息,用户及权限信息等。
(2)功能要求
本系统要求能够实现图书卡片的维护、读者信息的维护、图书的借阅登记和归还登记处理 (包括超期的罚款处理)、各类信息的查询、用户及其权限的管理等功能。假设每个读者有一本借书证,每本借书证最多可以借书5本,每本书最长可以借4个月。其他信息请设计者根据实际需要考虑。
2.系统设计
(1)需求分析
.信息需求(基本信息)
图书卡片信息:图书编号,图书类别代码,图书名称,作者姓名,出版社,出版日期,定价,内容摘要,实际数量,借出数量,卡片登记日期等。
图书分类索引:图书类别代码,类别说明等。
读者信息:读者编号,读者姓名,读者性别,读者职务,工作单位,联系电话,家庭住址,E— mail,登记日期等。
图书借阅信息:图书编号,读者编号,借阅数量,借阅日期,应归还日期,实际归还日期,罚款金额等。
用户信息:用户登录名,用户口令,用户权限,用户全名,用户身份等。
图书管理信息的查询应包括以下功能:
<l>图书信息查询
图书信息查询应提供多种不同的查询手段,如按图书类别、按图书编号、按作者、按出版社、按出版日期等,应支持不确定查询(即所谓的模糊查询)。
<2>读者信息查询
读者信息查询应提供的查询手段包括:按读者编号、按读者姓名、按联系电话、按登记日期等,同样能够支持不确定查询。
<3>图书借阅信息的查询和统计
图书借阅信息的查询应包括:
以图书信息为主体的查询。即统计所有借出图书的情况(以图书编号为关键字),含借出数量和剩余数量;某一种图书的借出明细情况,即借阅该图书的读者、以及借出日期,哪些已超过应归还的日期等。
以读者为主体的查询。即查询所有已经借阅图书但尚未归还的读者,并且,显示某读者的借阅明细信息,或者直接输入读者编号查询该读者的借阅信息。
到期未归还图书的借阅信息查询。即统计并查询所有已经到期但尚未归还的图书及读者的相关信息。
(2)数据库设计
.设计结果大致如下,请根据个人设计要求完成实际数据表设计:
图书卡片(图书编号,类别,图书名称,作者姓名,出版社,出版日期,定价,摘要,实际数量,借出数量,登记日期)。
图书分类(类别,类别说明)。
读者(读者编号,读者姓名,读者性别,读者职务,工作单位,联系电话,家庭住址,
E—mail,登记日期)。
借阅(图书编号,读者编号,借阅数量,借阅日期,应归还日期,实际归还日期,罚款金额)。
用户(用户登录名,用户口令,用户权限,用户全名,用户身份)。
数据表设计完成后,请提交如下例表格文档:
编号 字段名 类型 字段长度 是否为空 说明
1 T_id int 8 否 数据表编号
(3)数据录入
创建数据库,并输入必要的样本数据。
(4)用SQL实现下列查询:
1. 求总藏书量、藏书总金额,总库存册数、最高价、最低价。
2. 列出藏书在10本以上的书(书名、作者、出版社、年份)。
3. 哪些出版社的藏书种类数超过100种。
4. 目前实际已借出多少册书?
5. 年份最久远的书。
6. “数据库系统原理教程,王珊编,清华大学出版社,1998年出版”还有几本?
7. 哪一年的图书最多?
8. 哪本借书证未归还的图书最多?
9、平均每本借书证的借书册数。
10.哪个系的同学平均借书册数最多?
11. 最近两年都未被借过的书。
12. 列出那些借了图书逾期未归还的借书证号和图书名。
13.今年未借过书的借书证。
14. 今年那种书出借最多?
15. 正常情况下,每种图书的总藏量与库存量之差应等于该图书借出后未归还的数量,否则是一种异常情况。请找出存在这种异常情况的图书。
参考资料:www.xlhkj.com