/Web_lab

Primary LanguageJavaScriptEclipse Public License 1.0EPL-1.0

北京大学智能图书馆

  • 系统的用户账号密码:1805010219 1234;
  • 图书管理员(用户登录界面右下角图标)账号密码:root 1234;
  • 系统管理员(用户登录界面右下角图标)账号密码:admin admin

项目详细介绍

本图书管理系统总体上分为前台页面显示和后台管理。

前台页面(即本书图书管理系统的首页)实现了公告的显示、图书查询和留言建议三大主要功能,同时还提供了读者规则查看功能。师生们可以在前台页面看到图书管理人员发布的最新公告信息,并进行图书查询和留言提议。用户登录后,还可以进行个人资料修改、个人借阅信息查询、个人违章信息查询等操作,同时也可以给学校的图书管理人员留言提议。

后台页面集成了图书管理所需的功能,分为图书管理人员和系统管理人员两类角色。通常情况下,管理人员的工作都是在后台完成的。前台页面主要面向师生,而后台页面则针对学校图书管理人员,所有后台页面都经过加密处理,未经正常登录的用户无法进入后台管理页面。

后台图书管理人员的功能包括:借阅图书、归还图书、借书记录的显示与查找、还书记录的显示与查找以及公告的增删改查。后台系统管理员的功能包括:对书籍的增删改查、对书籍分类的增删改、对借阅证的增删改查、对借阅信息的显示与查找、对借阅规则的增删改、对图书管理员的增删改、对近期借阅书籍数量的折线图显示,以及对这些表格数据进行Excel表格的输出。

本图书管理系统主要有三大模块:用户模块、图书管理员模块和系统管理员模块。

一、用户模块:

  1. 查看公告:用户能够查看图书管理员发布的公告信息。
  2. 图书查看:用户可以通过图书名称、作者和图书描述等条件进行模糊查询,并分页显示所有符合条件的图书总览。
  3. 个人违章信息(登录后):用户登录后,能够查看个人历史违章信息和查询。
  4. 图书馆读者留言(登录后):用户登录后,可以对图书馆提出建议或对书籍进行评价。
  5. 查看借阅规则:用户能够查看不同的借阅规则,包括借阅限定数量、借阅限定时间和超期费用等。
  6. 个人信息(登录后):用户登录后,可以查看个人信息并修改登录密码等。
  7. 个人借阅信息(登录后):用户登录后,能够查看个人借阅记录并进行分页查询。

二、图书管理员模块:

  1. 借还图书:图书管理员可以帮助用户借阅图书,并判断是否符合借阅规则。在还书时,管理员会判断是否有超期情况,并输出超期费用再归还。
  2. 借阅报表:管理员可以分页显示所有借阅记录,并进行查询和输出结果到Excel。
  3. 公告管理:管理员能够添加、编辑和删除公告。
  4. 还书报表:图书管理员可以分页显示所有未还的书籍,并能通过借阅证号、图书编号、借阅日期、截止日期等条件进行模糊查询。
  5. 个人信息修改:管理员可以修改个人信息和密码等。

三、系统管理员模块:

  1. 书籍管理:系统管理员可以进行分页显示,新添图书,设置图书各种信息,编辑删除,并通过编号、书名、作者、描述等条件进行搜索,还可以查看该书籍被谁借阅过。
  2. 分类管理:管理员可以分页显示所有书籍分类,增删改书籍分类,方便查阅整理。
  3. 借阅证管理:管理员可以分页显示所有借阅证,并进行增删改查操作,可以查看该借阅证所有的借阅记录。
  4. 借阅规则管理:管理员可以显示、编辑和删除所有借阅规则。借阅规则将决定该图书证能借阅什么图书馆的图书,能借多少本,能借多久以及超期每天的费用。
  5. 借阅信息查询:系统管理员可以进行分页显示,能够条件查询超期没还的,根据编号、借阅证号、书籍编号、借阅日期等条件进行模糊查询,输出结果到Excel等。但是系统管理员只能查询,不能增删改借阅信息,这个操作由图书管理员操作。
  6. 图书管理员管理:管理员可以对图书管理员进行增删改操作,但是不能修改原来的账号。
  7. 图书借阅统计:管理员可以通过折线图将图书馆近30天的每天借阅书籍数量直观的显示出来。

sql表说明

library.sql 共有十张数据库表,书籍表、借书记录表、留言表、系统管理员表、借阅证表、图书管理员表、书籍分类表、图书馆表、借阅规则表和公告表。

  1. 书籍表(book_table):

    • book_id:编号
    • book_name:书名
    • author:作者
    • library_id:存放的图书馆
    • category_id:分类编号
    • location:存放位置
    • is_borrowed:是否借出
    • description:书籍描述
  2. 借书记录表(borrow_record_table):

    • record_id:编号
    • card_id:借阅证编号
    • book_id:书籍编号
    • borrow_date:借书日期
    • due_date:限制日期
    • return_date:归还日期
    • violation_description:违规描述
    • handler_id:处理人编号
  3. 留言表(message_table):

    • message_id:编号
    • card_id:借阅证编号
    • message_content:留言内容
    • message_date:留言日期
  4. 系统管理员表(system_admin_table):

    • username:账号
    • password:密码
  5. 借阅证表(library_card_table):

    • card_id:编号
    • password:密码
    • cardholder_name:借阅者姓名
    • rule_id:规则编号
    • status:状态(丢失、可用)
  6. 图书管理员表(librarian_table):

    • librarian_id:编号
    • name:姓名
    • username:账号
    • password:密码
    • email:邮箱
  7. 书籍分类表(category_table):

    • category_id:编号
    • category_name:分类名
    • category_description:分类描述
  8. 图书馆表(library_table):

    • library_id:编号
    • library_name:图书馆名
    • description:描述
  9. 借阅规则表(borrow_rule_table):

    • rule_id:编号
    • max_borrow_quantity:限制借阅数量
    • max_borrow_days:限制借阅天数
    • overdue_fee_per_day:图书超期每天费用
  10. 公告表(announcement_table):

    • announcement_id:编号
    • title:标题
    • content:公告内容
    • publish_date:发布日期

bookinfo.sql

  • wherefrom:书籍来源,数据类型为VARCHAR(100),不能为空
  • bname:书名,数据类型为VARCHAR(100),不能为空
  • person_in_charge:责任人,数据类型为VARCHAR(100),不能为空
  • press:出版社,数据类型为VARCHAR(100),不能为空
  • bdate:出版日期,数据类型为VARCHAR(100),不能为空
  • price:价格,数据类型为VARCHAR(100),不能为空
  • ISBN/ISRC:国际标准书号或音像制品编码,数据类型为VARCHAR(100),不能为空
  • page_number:页数,数据类型为VARCHAR(100),不能为空
  • CLC:中图分类号,数据类型为VARCHAR(100),不能为空
  • introduction:简介,数据类型为VARCHAR(4096),不能为空
  • attachment:附件,数据类型为VARCHAR(100),不能为空
  • size:附件大小,数据类型为VARCHAR(100),不能为空
  • series:丛书名,数据类型为VARCHAR(100),不能为空
  • FULLTEXT:全文搜索,对introduction字段创建全文搜索索引 用于存储书籍信息,包括书籍的基本信息及相关介绍和附件等。