
本 科 数 据 库 课 程 设 计 报 告
题 目:图书基本信息系统
学 院:信息工程学院
专 业:网络工程
班 级:
学 生:
学 号:
指导教师:
目 录
第一章 需求分析…………………………………………………3
1.1项目的简单介绍……………………………………………3
1.2模块分析……………………………………………………3
1.3系统功能表…………………………………………………4
第二章 数据库设计………………………………………………5
2.1概念设计………………………………………………………5
2.2逻辑设计………………………………………………………5
2.3物理设计………………………………………………………6
第三章 开发工具介绍说明………………………………………7
第四章 代码与界面………………………………………………7
4.1连接数据库……………………………………………………8
4.2增加操作………………………………………………………9
4.3删除操作………………………………………………………12
4.4修改操作………………………………………………………14
4.5查询操作………………………………………………………16
第一章 需求分析
1.1项目的简单介绍
图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。图书管理信息系统是典型的信息管理系统。
1.2模块分析
1.2.1模块介绍
图书基本信息管理,借阅信息管理,读者信息管理,系统用户管理。
1.2.2模块功能
图书基本情况
.书籍信息的制定,包括编号,书名,作者等。
.书籍信息的查询,修改,删除,增加。包括图书编号,书名,作者等。
3.书籍信息的输入,包括图书编号,书名,作者等。
借阅信息管理
.借书信息的输入,包括借书信息编号,读者编号,读者姓名,图书编号,书籍名称,借书日期等。
.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,图书编号,书籍名称,借书日期等。
读者信息管理
.读者信息的输入,包括读者编号,读者姓名,性别,联系方式,借书日期等。
.读者的查询,修改,包括读者编号,读者姓名,性别,联系方式,借书日期等。
系统用户管理
用户管理部分,主要为Admin系统用户对用户进行管理,包括用户的添加、修改、删除,而且可以修改用户的密码,若为普通用户,则没有权限对用户进行管理。
1.3系统功能图
图1-1 系统功能图
第二章数据库设计
2.1概念设计
、
图书信息E-R图
2.2逻辑设计
2.2.1关系模型
图书信息(图书编号,书名,作者,出版社,单价,库存量,分类)
读者信息(读者编号,姓名,性别,地址,联系方式)
借阅(借出时间,归还时间)
Person(用户名,密码)
2.2.2 表结构
表2-1 图书信息表
| 图书编号 | 书名 | 作者 | 出版社 | 单价 | 分类 | 库存量 |
| 1 | 数据库系统 | 某1 | A出版社 | 30 | 计算机 | 200 |
| 2 | 英语美文阅读 | 某2 | B出版社 | 15 | 语言 | 160 |
| 3 | PS入门 | 某3 | C出版社 | 20 | 计算机 | 180 |
| 4 | 高数指导 | 某4 | D出版社 | 25 | 数学 | 180 |
| 5 | 标准日本语 | 某5 | C出版社 | 25 | 语言 | 140 |
| 6 | 离散数学练习 | 某6 | B出版社 | 18 | 数学 | 120 |
| 7 | 计算机网络 | 某7 | A出版社 | 30 | 计算机 | 210 |
| 8 | 英汉辞典 | 某8 | B出版社 | 40 | 语言 | 150 |
| 9 | JSP | 某9 | A出版社 | 25 | 计算机 | 200 |
| 读者编号 | 姓名 | 性别 | 联系方式 | 地址 |
| 1 | 张三 | 男 | 123 | A街 |
| 2 | 李四 | 女 | 456 | B街 |
| 3 | 王五 | 男 | 7 | C街 |
| 用户名 | 密码 |
| yx | yaoxuan |
| 11 | 123 |
2.3.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
2.3.2具体使用的数据库
截图说明
三 开发工具介绍说明
开发平台,开发工具:
Dreamweaver 8,SQL Server 2005
介绍
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序
。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
Macromedia Dreamweaver 8是建立Web站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。
四.代码与界面
4.1连接数据库
4.1.1代码
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<% String id_1=request.getParameter("id");
String password_1=request.getParameter("password");
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(Exception e){
out.print(e);
}
try{
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=图书管理系统";
String user="sa";
String password="sa123";
con=DriverManager.getConnection(uri,user,password);
sql=con.createStatement();
rs=sql.executeQuery(" SELECT * FROM person WHERE id='"+id_1+"' AND password='"+password_1+"'");
if(!rs.next()){
response.sendRedirect("false.jsp");
}
else
{
session.setAttribute("username
%>
<%
con.close();
}
}catch(SQLException e)
{out.print(e);
}
%>
4.1.2页面截图
4.2增加操作
4.2.1代码
<%@ page pageEncoding="GB2312"%>
<%
request.setCharacterEncoding("GBK");
%>
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
<%
String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String DBURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=图书管理系统";
String DBUSER = "sa";
String DBPASSWORD = "sa123";
Connection conn = null;
Statement pstmt;
boolean flag = false;
String no = request.getParameter("no");
String bookname = request.getParameter("bookname");
String author = request.getParameter("author");
String publish = request.getParameter("publish");
String price = request.getParameter("price");
String type = request.getParameter("type");
String num = request.getParameter("num");
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
pstmt = conn.createStatement();
if (no.length() != 0 ) {
String sql = "insert into 图书信息表 values('" + no + "','"
+ bookname + "','" + author + "','" + publish + "','"
+ price+ "','" + type+ "','"
+ num + "')";
pstmt.executeUpdate(sql);
}
pstmt.close();
conn.close();
flag = true;
}
catch (Exception e) {
out.print(e);
}
if (flag) {
%>
信息添加成功
<%
} else {
%>
信息添加失败
<% }
%>
4.2.2页面截图
4.3删除操作
4.3.1代码
<%@page pageEncoding="GB2312"%>
<%
request.setCharacterEncoding("GBK");
%>
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
删除信息显示
<%!int id;%>
<%
String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String DBURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=图书管理系统";
String DBUSER = "sa";
String DBPASSWORD = "sa123";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
id = Integer.parseInt(request.getParameter("num"));
} catch (Exception e) {
out.println(e);
}
String sql = "delete from 图书信息表 where 图书编号 = ?";
boolean flag = false;
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER,DBPASSWORD);
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
id = pstmt.executeUpdate();
pstmt.close();
conn.close();
flag = true;
} catch (Exception e) {
out.println(e);
}
if (id != 0) {
%>
信息删除成功
<%
}
%>
4.3.2页面截图
4.4修改操作
4.4.1代码
<%@page pageEncoding="gb2312"%>
<%
request.setCharacterEncoding("GBK");
%>
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
修改成功
<%!int id;%>
<%
String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String DBURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=图书管理系统";
String DBUSER = "sa";
String DBPASSWORD = "sa123";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
%>
<%
try {
id = Integer.parseInt(request.getParameter("no"));
} catch (Exception e) {
}
%>
<%
String no = request.getParameter("no");
String bookname = request.getParameter("bookname");
String author = request.getParameter("author");
String publish = request.getParameter("publish");
String price = request.getParameter("price");
String type = request.getParameter("type");
String num = request.getParameter("num");
String sql = "UPDATE 图书信息表 SET 图书编号='"+no+"',书名='"+bookname+"',作者='"+author+"',出版社='"+publish+"',单价='"+price+"',分类='"+type+"',库存量='"+num+"' WHERE 图书编号='"+no+"'";
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
pstmt = conn.prepareStatement(sql);
/*pstmt.setString(1, no);
pstmt.setString(2, bookname);
pstmt.setString(3, author);
pstmt.setString(4, publish);
pstmt.setString(5, price);
pstmt.setString(6, type);
pstmt.setString(7, num);
pstmt.setString(8, no);
*/
int result = pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (SQLException e) {
out.print(e);
}
%>
4.4.2页面截图
4.5查询操作
4.5.1代码
<%@page pageEncoding="GB2312"%>
<%request.setCharacterEncoding("GBK");%>
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%! int id ; %>
<%
String DBDRIVER= "com.microsoft.sqlserver.jdbc.SQLServerDriver" ;
String DBURL= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=图书管理系统" ;
String DBUSER= "sa" ;
String DBPASSWORD= "sa123" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs= null ;
try{id = Integer.parseInt(request.getParameter("no")) ; }
catch(Exception e) {
out.println(e);
}
String sql = "SELECT * FROM 图书信息表 WHERE 图书编号=?" ;
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setInt(1,id);
rs = pstmt.executeQuery() ;
if(rs.next()){
out.print("
| "+"图书编号"); out.print(" | "+"书名"); out.print(" | "+"作者"); out.print(" | "+"出版社"); out.print(" | "+"单价"); out.print(" | "+"分类"); out.print(" | "+"库存量"); out.print(" |
|---|---|---|---|---|---|---|
| "+rs.getString(1)+" | ");"+rs.getString(2)+" | ");"+rs.getString(3)+" | ");"+rs.getString(4)+" | ");"+rs.getString(5)+" | ");"+rs.getString(6)+" | ");"+rs.getString(7)+" | ");
rs.close() ;
pstmt.close() ;
conn.close() ; }}
catch(SQLException e)
{
out.print(e);
}
%>
4.5.2页面截图
