数据库设计关于图书馆管理系统的设计(有完整代码)[1]

合集下载

图书管理系统数据库设计说明书

图书管理系统数据库设计说明书

图书管理系统数据库设计说明书图书管理系统数据库设计说明书1、引言本文档旨在对图书管理系统的数据库设计进行详细说明,包括数据库架构、表结构设计、数据流图等内容,以便于系统开发人员进行系统开发和维护。

2、数据库架构设计2.1 数据库类型本系统将采用关系型数据库,具体使用的数据库管理系统为MySQL。

2.2 数据库服务器架构本系统将采用分布式数据库架构,包括一个主数据库服务器和多个副本数据库服务器。

2.3 数据库服务器部署主数据库服务器和副本数据库服务器将部署在不同的物理机器上,以实现数据的冗余备份和负载均衡。

3、数据库表设计3.1 用户表(User)字段:用户ID、用户名、密码、姓名、年龄、性别、联系方式、电子邮箱、注册时间3.2 图书表(Book)字段:图书ID、图书名称、作者、出版社、出版日期、图书类别、价格、库存数量3.3 图书借阅表(Borrow)字段:借阅ID、用户ID、图书ID、借阅日期、归还日期、借阅状态3.4 图书类别表(Category)字段:类别ID、类别名称、类别描述3.5 出版社表(Publisher)字段:出版社ID、出版社名称、联系方式、地质4、数据流图设计4.1 用户注册流程图描述用户注册过程,包括用户输入信息、系统验证信息、保存用户信息等流程。

4.2 用户借阅图书流程图描述用户借阅图书的过程,包括用户查找图书、用户借阅图书、系统更新库存数量等流程。

4.3 用户归还图书流程图描述用户归还图书的过程,包括用户查找借阅记录、用户归还图书、系统更新借阅状态等流程。

5、附件本文档附带的相关附件包括:- 数据库表结构设计文档- 数据流图设计文档- ER图设计文档6、法律名词及注释本文档涉及的法律名词及其注释如下:- 数据库管理系统(Database Management System,简称DBMS):是一种管理和整理数据库的软件系统。

- 关系型数据库(Relational Database):是一种基于关系模型的数据库,采用表格来组织和管理数据。

图书馆管理信息系统的数据库设计

图书馆管理信息系统的数据库设计

1 需求分析1.1系统目标大学图书馆管理信息系统为广大大学师生提供了便利的图书借阅服务。

本系统面向全体教职职工与学生,该系统根据不同的操作者,提供不同的服务,以实现图书管理系统的科学化、系统化、自动化,最大限度地为老师和学生提供方便和提供管理效率。

1.2功能分析图书馆管理信息系统的功能模块如图1.1所示。

图1.1 图书馆管理信息系统功能模块(1)读者管理1)新增读者。

新增读者时要求填写其基本的信息,包括读者号、密码、读者姓名、性别、读者类型、单位、电子邮箱等。

2)读者信息维护。

读者可以对自己的信息进行修改,图书管理员有权限对已有读者的信息进行修改和删除。

3)借阅历史查看。

注册的读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅情况和图书的信息,而图书管理员可以查看任何读者的信息、借阅情况、任何图书的信息和借阅情况。

(2)书籍管理1)新增书籍。

图书管理员对新增的入库文献资料按规定进行编目、编录、加工、建库。

对每本图书、杂志要登记其基本信息,包括图书名称、图书作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号,馆藏地、入库时间等。

2)书籍信息维护。

图书管理员可以对入库的书籍信息进行修改,或是删除该书籍信息,如采购书籍册数。

3)书籍类别管理。

新增书籍按照中图法分类规则进行分类。

(3)借阅管理1)书籍借阅管理。

图书管理员根据不同类型读者的借阅情况,对书籍进行管理。

(4)查看1)书籍信息查询。

登陆本系统的读者或是图书管理员可以查看现有图书系统中任何书籍的信息。

2)读者信息查询。

一般的读者只能查看自己在该系统上的信息,如借阅的书籍等,而图书管理员可以查看任何读者的信息情况。

3)借阅信息查询。

读者或是图书管理员可以查看每本书籍的在图书馆的状态,是借阅中还是在馆藏地等。

1.3数据需求及业务规则分析(1)图书馆为全校的学生和教职工提供图书借阅服务,学生分为高职生、本科生(含一本、二本、三本)、硕士研究生(含MBA)和博士研究生等多种层次。

图书馆管理系统完整代码

图书馆管理系统完整代码
out.println("<h3>"+warning3+"</h3>"); String login=request.getParameter("login"); if(login!=null)
out.println("<h3>"+login+"</h3>"); %> </div></body> </html>
logon.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 "/TR/html4/loose.dtd"> <html> <script language="JavaScript">
{ alert("请输入有效电话!"); return false;
} } var em,index; em=myform.email.value; index=myform.email.value.indexOf('@'); if(index<=0||index>=em.length-1) {
alert("请输入合法的电子邮件地址!"); return false; } } </script> <head> <title>用户注册</title> </head> <body><div align="center"><h2> 用户注册 </h2> <%!String sex=null; %> <form action="dealLogon.jsp" method="post" onSubmit="return check()" name="myform"> <table height="100%" border="1" align="center" width="90%"> <tbody><tr> <td align="right">用户名:<br></td> <td align="left"><input type="text" name="username"></td></tr> <tr> <td align="right">真实姓名:<br></td> <td align="left"><input type="text" name="truename"></td></tr> <tr> <td align="right">密码:</td> <td align="left"><input type="password" name="password"></td></tr> <tr> <td align="right">确认密码:</td> <td align="left"><input type="password" name="confirmPassword"></td></tr> <tr> <td align="right">年龄: </td> <td align="left"><input type="text" name="age"></td></tr> <tr> <td align="right">性别:</td> <td align="left"><input type="radio" name="sex" value="男" <%if(sex.equals("男")) out.println("checked");%>> <img src="Images/boy.gif" width="24" height="24">男

图书管理系统数据库设计

图书管理系统数据库设计

图书管理系统数据库设计1. 引言图书管理系统是一个用于管理图书馆馆藏图书的软件系统。

它提供了图书的借阅、归还、查询等功能,方便读者进行图书借阅和图书馆管理员进行图书管理。

本文档将介绍图书管理系统的数据库设计。

通过组织图书、读者、借阅记录等相关数据,实现图书管理系统的各项功能。

2. 数据库设计2.1 数据库结构图书管理系统的数据库主要包含以下几个表:•图书表(books):存储图书的基本信息,如图书编号、名称、作者、出版社等。

•读者表(readers):存储读者的基本信息,如读者编号、姓名、性别、年龄等。

•借阅记录表(borrow_records):存储图书的借阅记录,包括借阅编号、借阅日期、归还日期、读者编号等。

2.2 数据库字段2.2.1 图书表(books)•book_id:图书编号,主键•book_name:图书名称•author:作者•publisher:出版社•publication_date:出版日期•price:价格2.2.2 读者表(readers)•reader_id:读者编号,主键•reader_name:读者姓名•gender:性别•age:年龄•phone:联系电话2.2.3 借阅记录表(borrow_records)•record_id:借阅记录编号,主键•book_id:借阅图书编号,外键•reader_id:借阅读者编号,外键•borrow_date:借阅日期•return_date:归还日期2.3 数据库关系•图书表与读者表之间是多对多的关系,通过借阅记录表进行关联。

•图书表与借阅记录表是一对多的关系,一个图书可以对应多条借阅记录。

•读者表与借阅记录表也是一对多的关系,一个读者可以借阅多本图书。

2.4 数据库约束•图书编号(book_id)在图书表中是唯一的,不能重复。

•读者编号(reader_id)在读者表中是唯一的,不能重复。

•借阅记录编号(record_id)在借阅记录表中是唯一的,不能重复。

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)《数据库》课程设计(2008/2009学年第2学期第18-19 周)数据库课程设计任务书⼀、⽬的1.掌握计算机管理信息系统设计的⼀般⽅法,主要包括系统分析、系统设计的组织和实施。

2.关系型数据库管理系统的编程技术,并能独⽴完成⼀般⼩系统的程序设计、调试运⾏等⼯作。

3.培养把所学知识运⽤到具体对象,并能求出解决⽅案的能⼒。

⼆、任务(任选其⼀)A.运⽤关系型数据库管理系统,实现本院图书馆管理信息系统。

具体要求如下:—图书、资料的登记、注销和查询。

—借书证管理,包括申请、注销借书证,查询借书证持有⼈等。

—借还图书、资料的登记、超期处理,超期拒借等。

—图书、资料查询,借、还图书和资料情况查询。

—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之⼀。

(本项不作为基本要求)B.运⽤关系型数据库管理系统,实现服务电话管理系统向客户现场派技术⼈员的服务公司可以⽤服务电话管理系统跟踪客户、员⼯、⼯作订单、发票、付款等等。

要求:数据库要存储以下信息:—客户信息—客户⼯需单信息—完成⼯需单所需⼈⼯—完成⼯需单所需部件—部件信息—付款信息—雇员信息完成的功能:—输⼊/查看客户⼯需单信息—输⼊/查看部件、雇员等其它信息—付款—打印发票等三、结果形式1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语⾔及查询结果。

2.上机实现。

四、考核1.课程设计态度(20分)。

2.递交的书⾯材料(40分)。

3.上机运⾏情况(40分)⽬录1.问题描述 (2)1.1背景 (2)1.2数据需求 (2)1.3事物需求 (3)1.4关系模式 (3)2.⽅案图表设计 (3)2.1E-R图 (3)2.2数据流程图 (8)2.3数据字典 (9)2.4关系图: (11)3.数据库源代码 (12)3.1数据库建⽴ (12)3.2数据初始化 (14)4.结果数据处理 (17)4.1单表查询 (17)4.2超期处理 (19)4.3还书操作 (20)4.4借书操作 (22)4.5书籍状态 (24)4.6读者状态 (24)5.结束语 (26)5.1课程设计⼼得 (26)1.问题描述1.1背景随着图书馆规模的不断扩⼤,图书数量也相应的增加,有关图书的各种信息量也成倍增加,⾯对着庞⼤的信息量,传统的⼈⼯⽅式管理会导致图书馆管理上的混乱,⼈⼒与物⼒过多浪费,图书馆管理费⽤的增加,从⽽使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定⼀套合理、有效,规范和实⽤的图书管理系统,对图书资料进⾏集中统⼀的管理。

图书馆管理系统程序设计代码

图书馆管理系统程序设计代码

1.1程序设计代码登录模块if(username.Text.Trim()==""||password.Text.Trim()==””)MessageBox。

Show(”请输入用户名和密码",”提示");else{if(radioManage.Checked == true){string strcon = "Data Source=SIMON-VAIO;Initial Catalog=lkl2;Integrated Security=True;”;//连接数据库的字符串,用于指定数据库地址,名称,账号,密码,连接方式SqlConnection sqlCon = new SqlConnection(strcon); //实例化并定义一个数据库连接sqlCon。

Open();//打开数据库连接string sql = "select * from login where usernum=@usernum anduserpassword=@suerpassword";//定义要查询sql语句SqlCommand cmd = new SqlCommand(sql, sqlCon); //实例化并定义sql语句和数据库路径cmd.Parameters.Add(”@usernum", SqlDbType.NChar, 20);//定义cmd查询命令的字段属性,@loginname sqldbtype nchar(20)cmd.Parameters。

Add(”@suerpassword”,SqlDbType.NChar, 20); //同上cmd。

Parameters["@usernum"]。

Value = username.Text;//将username中的text 保存到变量@loginnamecmd。

Parameters[”@suerpassword"]。

图书管理系统数据库设计-MYSQL实现

图书管理系统数据库设计一、系统概述1、系统简介图书管理是每个图书馆都需要进行的工作。

一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。

2、需求分析图书管理系统的需求定义为:1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。

2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。

3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。

4.学生直接归还图书,根据图书编码修改借阅信息5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息6.管理员可以注销学生信息。

通过需求定义,画出图书管理系统的数据流图:数据流图二、系统功能设计三、数据库设计方案图表1、系统E-R模型总体E-R图:管理员E-R图:给出设计的表名、结构以及表上设计的完整性约束。

student:book:book_sort:borrow:存储学生的借书信息return_table:存储学生的归还信息ticket:存储学生的罚单信息manager:3、设计索引给出在各表上建立的索引以及使用的语句。

student:1.为stu_id创建索引,升序排序sql:create index index_id on student(stu_id asc);2.为stu_name创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc);插入索引操作和结果如下所示:mysql> create index index_id on student(stu_id asc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql> alter table student add index index_name(stu_name desc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql>book:1.为book_id创建索引,升序排列sql:create index index_bid on book(book_id);2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record);插入索引的操作和结果如下所示:mysql> create index index_bid on book(book_id);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql> create index index_brecord on book(book_record);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0borrow:1.为stu_id和book_id创建多列索引:sql:create index index_sid_bid on borrow(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid on borrow(stu_id asc, book_id asc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0return_table:1.为stu_id和book_id创建多列索引:sql:create index index_sid_bid on return_table(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid_r onreturn_table(stu_id asc, book_id asc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0ticket:1. 为stu_id和book_id创建多列索引:sql:create index index_sid_bid on ticket(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid on ticket(stu_id asc, book_id asc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0manager:1.为manager_id创建索引:sql:create index index_mid on manager(manager_id);插入索引的操作和结果如下所示:mysql> create index index_mid on manager(manager_id);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 04、设计视图给出在各表上建立的视图以及使用的语句。

图书馆管理系统毕业设计(设计与代码)

Book:书目表,存放书目基本信息,设置rtDate(归还日期)和brDate(借出日期)实现过期查询。
Manager:管理员表。放置两个密码。实现二次鉴权
LendBook:用户借阅历史和借阅查询数据MesFra bibliotekage:用户留言
Overdue:过期书籍信息和赔偿数额。
News:新闻更新板块
3
程序按照系统规定的约束条件设计,正确把握其中的逻辑关系。整个系统总体划分为9个模块。各个模块都要按照该模块的数据流程图设计。下面列举其中关键模块的逻辑实现。
3.2.5
如果使用了视图,请在此给出其名称和相关代码。
3.3
3.4
根据用户需求,划分系统模块,描述每个模块包括的功能。不能省略。
4
4.1
4.2
逐个页面描述Web页面布局设计、页面效果图、主要控件的属性、主要实现代码。
必须文字、图片和代码结合在一起写。
4.3
数据库设计
该系统一共用到7张表。分别是:
User:用户表,存放用户基本注册信息
(USE CASE图如下)
3
3.1
介绍界面设计的原则,包括页面大小、布局、母版页、CSS、色彩等,不能省略。
3.2
概论描述本项目的数据库设计,并分别填写概念设计、逻辑设计和物理设计,说明数据库选型。
不能省略。
自己查阅书籍,分清楚各个概念的不同。
3.2.1
3.2.2
3.2.3
3.2.4
如果使用了存储过程,请在此给出其名称和相关代码。
新书公告模块:此模块下,老师、学生、游客等可以查看目前新到书情况
电子资料查询:此模块下,老师、学生、游客等可以查找所需相关电子资料,有各大名校图书馆网址的链接,方便查询。

图书馆管理系统数据库设计

图书馆管理系统数据库设计一、需求分析图书馆管理系统应该能够提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还书两大功能进行合理的操作并登记。

图书馆管理系统的主要任务是建立详尽的借阅信息,以及馆内的书种及对应书刊的记录,并对借阅者和其借阅的书籍进行登记。

在不同的图书馆之间,图书管理系统会存在一定的差异。

1.1具体功能模块及描述1、安全性管理:给每个管理员一个用户名和密码,以登录图书馆管理系统,便于身份验证,管理员可以拥有最高权限对数据库进行所有操作。

同样拥有一个用户名和密码,但普通用户只能进行查询操作,看个人信息和图书馆中图书信息不可修改它们。

(1)管理员:增加、删除、查询、修改图书信息;增加、删除、查询、修改读者信息;图书借出、图书归还、逾期还书处理、图书注销(2)读者:查询图书信息、查看借书情况、查询个人信息、历史借书情况、超期还书警告。

2、读者信息管理:该功能模块用于管理相关的读者信息,包括的子功能模块如下图所示3、图1—2 “图书管理”功能模块“图书基本信息设置”用于设置图书的类型及相关的信息,内容包括ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量。

“图书档案管理”用于设置图书相关信息,内容包括编号、ISBN、入库时间。

“图书征订”用于订购新图书,内容包括征订编号、ISBN、订购数量、订购日期。

“图书注销”用于注销图书,被注销的图书不可以再借出,并且应将图书信息进行修改。

“图书查看”用于查看某本书的情况。

“图书盘点”输出图书的在库清单供盘点使用。

4、图书流通管理:此功能模块用于管理图书流通环节的相关的操作,包括如下图所示的功能模块。

图1—3 “图书流通管理”功能模块“图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态等。

图书馆管理员作为借阅者的代操纵借书和还书者。

借书时只要输入借阅的书刊编号就可以,然后输入借阅者的借阅卡号,完成后提交,系统验证借阅者是否有效,若有效借阅请求被接收并处理,系统将库存中图书数量减一,同时将读者信息中借书量加一。

图书管理数据库课程设计报告(有完整代码)

集美大学诚毅学院数据库原理课程设计报告设计题目图书馆管理系统专业班级计算机1191学号**********学生姓名指导教师成绩信息工程系摘要图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化和社会信息化的重要基地。

它担负着教育与信息服务的双重职能,也是全校师生学习研究的重要场所。

有人说,图书馆是学生的第二课堂,是真正意义上的学习中心,更赋于它“高校的心脏”之美誉,那么“读者第一,服务至上”的办馆宗旨将使图书馆肩负更重的责任感和使命感。

图书馆将根据学校教学科研的需求,对传统文献和数字文献进行合理而科学的整合与开发,并努力为各学科提供更加全面的资源保障,争取在不远的将来,建成涵盖我校人文社会科学所有专业,并在经济学学科、法学学科及管理学科领域具有鲜明特色的知识资源系统,以及多元化、深层次、多形式、优质高效、快捷便利的现代化知识服务体系,为创建一流研究型大学图书馆打下坚实的基础。

目录1.问题描述 (4)1.1背景 (4)2.需求分析 (5)2.1需求分析 (5)2.2数据流图 (5)2.3数据字典 (6)3.概念结构设计 (4)3.1E-R图 (5)3.2实体及属性的定义 (8)4.逻辑结构设计 (6)5.数据库的实施和维护 (13)6.结束语 (20)1.问题描述1.1背景随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。

作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。

在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。

对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。

对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2008/2009学年第2学期第18-19 周)数据库课程设计任务书一、目的1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。

2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。

3.培养把所学知识运用到具体对象,并能求出解决方案的能力。

二、任务(任选其一)A.运用关系型数据库管理系统,实现本院图书馆管理信息系统。

具体要求如下:—图书、资料的登记、注销和查询。

—借书证管理,包括申请、注销借书证,查询借书证持有人等。

—借还图书、资料的登记、超期处理,超期拒借等。

—图书、资料查询,借、还图书和资料情况查询。

—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之一。

(本项不作为基本要求)B.运用关系型数据库管理系统,实现服务电话管理系统向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。

要求:数据库要存储以下信息:—客户信息—客户工需单信息—完成工需单所需人工—完成工需单所需部件—部件信息—付款信息—雇员信息完成的功能:—输入/查看客户工需单信息—输入/查看部件、雇员等其它信息—付款—打印发票等三、结果形式1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。

2.上机实现。

四、考核1.课程设计态度(20分)。

2.递交的书面材料(40分)。

3.上机运行情况(40分)目录1.问题描述 (1)1.1背景 (1)1.2数据需求 (2)1.3事物需求 (2)1.4关系模式 (3)2.方案图表设计 (3)2.1E-R图 (3)2.2数据流程图 (7)2.3数据字典 (7)2.4关系图: (9)3.数据库源代码 (10)3.1数据库建立 (10)3.2数据初始化 (12)4.结果数据处理 (14)4.1单表查询 (14)4.2超期处理 (16)4.3还书操作 (17)4.4借书操作 (19)4.5书籍状态 (20)4.6读者状态 (21)5.结束语 (22)5.1课程设计心得 (22)1.问题描述1.1背景随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

1.2数据需求图书馆管理信息系统需要完成功能主要有:1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。

2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

4.书籍类别信息的查询、修改,包括类别编号、类别名称。

5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

9.还书信息的输入,包括借书证编号、书籍编号、还书日期。

10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等1.3事物需求(1)在读者信息管理部分,要求:a.可以查询读者信息。

b.可以对读者信息进行添加及删除的操作。

(2 )在书籍信息管理部分,要求:a.可以浏览书籍信息,要求:b.可以对书籍信息进行维护,包括添加及删除的操作。

(3)在借阅信息管理部分,要求:。

a.可以浏览借阅信息。

b.可以对借阅信息进行维护操作。

(4)在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作(5)在管理者信息管理部分,要求:a.显示当前数据库中管理者情况。

b.对管理者信息维护操作。

(6)在罚款信息管理部分,要求:a.可以浏览罚款信息b.对罚款信息可以更新1.4关系模式(一)书籍类别(种类编号,种类名称)(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(四)借阅(借书证编号,书籍编号,读者借书时间)(五)还书(借书证编号,书籍编号,读者还书时间)(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。

2.方案图表设计2.1 E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。

用E-R图一一描述这些实体。

2.1.1类别实体E-R图:图2-1类别实体E-R图2.1.2读者信息实体E-R图:图2-2 读者信息实体E-R图2.1.3信息实体E-R图:图2-3信息实体E-R图2.1.4.记录信息实体E-R图:图2-4 记录信息实体E-R图2.1.5记录信息实体E-R图:图2-5记录信息实体E-R图2.1.6罚款信息实体E-R图:图2-6罚款信息实体E-R图2.1.6总的信息实体E-R图:图2-7总的信息实体E-R图2.2数据流程图2.3数据字典表2-1book_sytle 书籍类别信息表表2-2system_readers读者信息表格表2-4borrow_record 借阅记录信息表表2-6reader_fee 罚款记录信息表2.4关系图:图2-8数据库存表关系图3.数据库源代码3.1数据库建立3.1.1创建数据库USE masterGOCREATE DATABASE librarysystemON( NAME = librarysystem,FILENAME = 'd:\librarysystem.mdf',SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = 'library',FILENAME = 'd:\librarysystem.ldf',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )GO3.1.2书本类别表建立create table book_style(bookstyleno varchar(30) primary key,bookstyle varchar(30))3.1.3创建书库表create table system_books(bookid varchar(20) primary key,bookname varchar(30) Not null,bookstyleno varchar(30) Not null,bookauthor varchar(30),bookpub varchar(30) ,bookpubdate datetime,bookindate datetime ,isborrowed varchar (2) ,foreign key (bookstyleno) references book_style (bookstyleno), )3.1.4借书证表建立create table system_readers( readerid varchar(9)primary key,readername varchar(9)not null ,readersex varchar(2) not null,readertype varchar(10),regdate datetime)3.1.5借书记录表建立create table borrow_record( bookid varchar(20) primary key,readerid varchar(9),borrowdate datetime,foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid), )3.1.6还书记录表建立create table return_record( bookid varchar(20) primary key,readerid varchar(9),returndate datetime,foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) )3.1.7罚款单表建立*/create table reader_fee( readerid varchar(9)not null,readername varchar(9)not null ,bookid varchar(20) primary key,bookname varchar(30) Not null,bookfee varchar(30) ,borrowdate datetime,foreign key (bookid) references system_books(bookid),foreign key (readerid) references system_readers(readerid))3.2数据初始化3.2.1将书籍类别加入表book_style中insert into book_style(bookstyleno,bookstyle)values('1','人文艺术类')insert into book_style(bookstyleno,bookstyle)values('2','自然科学类')insert into book_style(bookstyleno,bookstyle)values('3','社会科学类')insert into book_style(bookstyleno,bookstyle)values('4','图片艺术类')insert into book_style(bookstyleno,bookstyle)values('5','政治经济类')insert into book_style(bookstyleno,bookstyle)values('6','工程技术类')insert into book_style(bookstyleno,bookstyle)values('7','语言技能类')3.2.2将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1'); insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1'); insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1'); insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');insert intosystem_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');3.2.3将已有图书证的读者加入system_readers表中*/insert into system_readers(readerid,readername,readersex,readertype,regdate)values('X05620207','陈远鹏','男','学生','2005-9-23 14:23:56')insert into system_readers(readerid,readername,readersex,readertype,regdate)values('X05620206','陈特','男','学生','2005-09-30 13:24:54.623')insert into system_readers(readerid,readername,readersex,readertype,regdate)values('X05620204','赵铭静','女','学生','2005-09-27 11:24:54.123')insert into system_readers(readerid,readername,readersex,readertype,regdate)values('X05620202','潘虹','女','学生','2005-09-30 13:24:54.473')insert into system_readers(readerid,readername,readersex,readertype,regdate)values('008415','蒋伟','男','教师','2004-04-30 09:24:54.478')insert into system_readers(readerid,readername,readersex,readertype,regdate)values('001456','李叶风','女','教师','2004-04-30 09:24:54.478')3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/insert into borrow_record(bookid,readerid,borrowdate)values('00125415152','X05620202','2007-09-27 11:24:54.123')update system_booksset isborrowed=0where bookid='00125415152'insert into borrow_record(bookid,readerid,borrowdate) values('00125415153','X05620206','2007-12-27 08:26:51.452') update system_booksset isborrowed=0where bookid='00125415153' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate) values('5455515','X05620207','2007-12-27 08:26:51.452') update system_booksset isborrowed=0where bookid='5455515' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate) values('015115','X05620204','2007-10-21 12:11:51.452') update system_booksset isborrowed=0where bookid='015115' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate) values('15154656','001456','2007-12-28 14:11:51.312') update system_booksset isborrowed=0where bookid='15154656' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate) values('565800020','008415','2007-08-28 15:11:31.512') update system_booksset isborrowed=0where bookid='565800020' and isborrowed='1'4.结果数据处理4.1单表查询4.1.1表book_style中查询演示:图4-1 表book_style中内容4.1.2表system_books中查询演示:图4-2 表system_books中内容4.1.3将已有图书证的读者加入system_readers表中结果查询:图4-3 表system_readers中内容4.1.4借书纪录表borrow_record结果查询:图4-4 表borrow_record中内容4.2超期处理4.2.1现在对已有借书证的读者进行查询借书是否超期(这里归定30天): 说明:当前的getdate()以日期为2008年1月6日计算图4-4 选出借出超过30天的读者4.2.2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算: SQL语言:insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)select system_readers.readerid 读者借书证编号,readername 读者姓名,system_books.bookid 书籍编号,bookname 书名,0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30) 超过时间天数,borrowdate 借书时间from borrow_record ,system_readers ,system_bookswhere system_readers.readerid=borrow_record.readeridand system_books.bookid=borrow_record.bookidand Datediff(day,convert(smalldatetime,borrowdate),getdate())>=30(所影响的行数为 3 行)select readerid 书读者借书证编号,readername 读者姓名,bookid 书籍编号,bookfee 超期罚款from reader_fee形成各本书对应的罚款金额,按0.3元每天算图4-5查看罚款单4.3还书操作4.3.1现在对某一读者进行还书操作:1.首先还书要在还书纪录中添加一条还书纪录2.其次删除相应书本的借阅纪录3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅说明:学号为X05620207 姓名为陈远鹏借阅的565800020书籍编号进行归还。

相关文档
最新文档