网上图书管理系统

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

课程设计报告
课程:数据库课程设计学号:
姓名:
班级:
教师:
课程设计任务书
姓名学号班级
课程名称网上图书管理系统课程性质课程设计
同组成员分工数据库的分析设计以及
前台的JSP系统实现设计时间2010年6月10日——2010年10月26日设计名称网上图书管理系统
设计要求网上图书管理系统的要求有:
1. 能按各种方式(比如书名、编号、作者、出版社)查询销售系统的存书情况
2. 管理者能够查询订购人的基本资料、订购图书情况以及自身的基本信息。

3. 管理员可以查看所有的图书订单信息以及系统所有注册用户的信息。

4、管理员可以查看,添加,修改和删除图书和图书类别信息。

5、客户可以浏览所有图书信息,并可以执行图书订购操作。

设计思路

设计过程本系统包括五个实体:管理员,书,图书类别,订单,注册用户实体管理员和注册用户的信息出于方便,两个实体的信息放在一张表(users表)中,并以sysRole标志区分管理员和注册用户。

图书信息放在books表中,订单信息存放在goods表中,图书类别信息存放在sorts表中。

words表中存放客户对图书的评价信息,但本系统没有实现该功能模块。

系统中的各张表之间的关系图如下:
一、网上图书销售系统的要求有:
1. 能按各种方式(比如书名、编号、作者)查询销售系统的存书情况
2. 管理者能够查询订购人的基本资料、订购图书情况以及自身的基本信息。

3. 能够查询不同日期不同订购人的订单状况。

4. 能够查询订购人的付款银行。

5. 能够方便的查询图书供应商的情况和供应的数目。

二.ER图
①各个实体属性联系图
②各个实体之间的联系图
数据库中共包含五张表:users表,books表,goods表,sorts表和words表
各张表的说明:
users表:存放系统中注册用户和管理员详细信息,包含的字段有:
userID:用户注册时系统自动分配的ID值(主键)
userName:存放用户登录系统的用户名
password:存放用户登录系统的密码
realName:存放用户的真实姓名
telephone:存放用户的联系电话
email:存放用户的电子邮箱
createTime:存放用户注册的时间
sysRole:存放用户对系统所具有的权限,客户的sysRole=0,管理员的sysRole=0 表users:(字段创建类型)
books表:存放图书的信息
bookID:图书添加是系统所分配的唯一的ID值(主键)
bookName:存放图书的名称信息
pub:保存图书的出版社信息
author:存放图书的作者信息
price:存放图书的单价信息
sortID:存放图书所属的分类的ID值
intro:存放图书的简介信息
recommendNumber:存放客户的推荐购买数
表books:
sorts表:存放图书的分类信息
sortID:图书分类添加系统自动分配的图书分类号(主键)
sortName:存放图书的分类名称
tag:标记值
表sorts:
words表:存放客户对图书的评价信息
wordID:存放评论的ID值,客户的评论存入数据库时系统自动分配的唯一的ID
值(主键)
wordContent:存放客户的评论信息
bookID:存放客户所评论的图书ID值
authorID:存放客户的ID值
createTime:存放评论的发表时间
表words:
goods表:存放客户的订单信息
goodID:存放客户订单的ID值,当订单创建时,系统自动分配(主键)
userID:存放订单相关的客户信息
bookID:存放客户订购单图书的ID值
createTime:存放订单的创建时间
buyNumber::存放客户订购图书的数量
表goods:
四、关系模式
系统中的实体有:管理员,书,订单,客户
关系模式如下:
管理员(userID,userName,password,realName,telephone,email)客户(userID,userName,password,realName,telephone,email)书(bookID,bookName,pub,author,price,sortID,intro)
订单(goodID,userID,bookID,createTime,buyNumber)
六、数据库中的五张表之间的关系图
图中的五张表通过表中共同属性建立关联(外键关联)。

表users通过userID与表goods建立关联
表books通过bookID与表goods建立关联
表books通过bookID与表words建立关联
表goods通过bookID与表books建立关联
表sorts通过sortID与表books建立关联
七、系统实现
1、数据库:MSSQL server2005
2、前台开发语言JSP
3、前台开发工具:NetBeans、tomcat 6.0
4、系统模块说明:
系统共分为五大功能模块,分别是:登录模块,注册模块,找回密码模块,客户信息管理模块,管理员管理模块。

①登录模块包含三个子模块:管理员登录,获取密码,客户登录,为管理员和客户提供登录系统和获取密码的渠道。

②注册模块:未注册用户提供注册的渠道,使其可以得到进入系统的凭证
③找回密码模块:与获取密码模块,二者功能相同,都是提供获取密码的渠道
④客户信息管理模块:客户管理自己的图书相关信息,创建订单等
⑤管理员管理模块:为管理员提供管理信息系统信息的渠道,可以进行图书的添加,修改,如数类别信息的添加和修改,订单信息的查看和删除,注册用户信息的查看等。

结构图如下:
系统功能模块图
登录验证模块和图书信息录入模块流程图如下:
登录验证模块
图书信息录入模块
JSP中数据库连接代码:
本系统提供两种连接数据的方式:
①JDBC方式连接(不需另建数据源)
public class Open_DB {
//数据库用户名
String userName = "sa"; //用户名为sa
//数据库访问的用户名和密码
String password = ""; //访问数据库的密码为空
//数据库驱动—JDBC的驱动程序
String DBDirver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
//存放连接错误信息的变量
//数据库连接url
String url = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_OBSS";
//JDBC数据源路径
//数据库连接对象
public static Connection dbConn;
//初始化成员变量
public Open_DB() {
try {
Class.forName(DBDirver);
dbConn = DriverManager.getConnection(url, userName, password);
System.out.println("success!"); //连接成功是的提示信息
} catch (SQLException ex) {
Logger.getLogger(Open_DB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Connection failed 1");
} catch (ClassNotFoundException ex) {
System.out.println("failed!"); //连接失败时提示信息
dbConn = null;
Logger.getLogger(Open_DB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Connection failed 2");
}
System.out.println("connection success!");
}
public static Connection getConn() { //获取数据库的连接方法
return dbConn;
}
}
JDBC连接数据需要添加与连接的数据库相关的驱动jar包,本系统使用的是MSSQL server 2005 所以需要的jar有三个,分别是:msbase.jar, mssqlserver.jar, msutil.jar 所需的三个jar包均已包含在项目文件中。

从上面的代码可以看出,连接数据库的用户名为sa(系统管理员),但默认情况下,MSSQL server2005中的sa帐户是禁用的,需要将其启用而且还有将密码置为空,或是改用其它的数据库访问帐户。

访问的数据库为DB_OBSS。

②用JDBC-ODBC方式连接MSSQL server2005(需要另外建立数据源,本系统
运行在Windows server 2003 平台下)。

建立数据源的步骤如下:
a、开始—>管理工具-→ODBC数据源
如下图:
Windows server 2003 中设置数据源图示①
b、打开ODBC数据源管理器—>选择系统DNS→添加新数据源→选择SQL Server
驱动程序—>完成。

见下图:
Windows server 2003 中设置数据源图示②
c、进入”创建SQL Server的数据源”对话框 按图示填写参数信息。

(注:服务器(S)中的”.”表示连接到本地的SQL Server服务器,同(local)),见下图:
Windows server 2003 中设置数据源图示③
d、按下图填写连接SQL Server的登录参数:
Windows server 2003 中设置数据源图示④
e、选择要连接的数据库,本示例连接的是系统使用的DB_OBSS数据库,单击下一步。

见下图:
Windows server 2003 中设置数据源图示⑤
f、按下图,默认即可,单击完成:
Windows server 2003 中设置数据源图示⑥
g、弹出“ODBC Microsoft SQL Server安装”对话框,确认之前填写的数据库连接参数,并单击测试数据源按钮,即可。

见下图:
Windows server 2003 中设置数据源图示⑦
h、弹出如下图所示的对话框,则表示数据源创建成功!
Windows server 2003 中设置数据源图示⑧
JDBC-ODBC连接数据库的代码如下:
public class Open_DB {
//数据库用户名
String userName = "sa"; //用户名为sa
//数据库访问的用户名和密码
String password = ""; //访问数据库的密码为空
//数据库驱动—JDBC的驱动程序
String DBDirver = "sun.jdbc.odbc.JdbcOdbcDriver"; //ODBC驱动程序
//数据库连接url
String url = "jdbc:odbc:DB_OBSS"; //odbc数据源名称为DB_OBSS
//JDBC-ODBC数据源路径
//数据库连接对象
public static Connection dbConn;
//初始化成员变量
public Open_DB() {
try {
Class.forName(DBDirver);
dbConn = DriverManager.getConnection(url, userName, password);
System.out.println("success!"); //连接成功是的提示信息
} catch (SQLException ex) {
Logger.getLogger(Open_DB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Connection failed 1");
} catch (ClassNotFoundException ex) {
System.out.println("failed!"); //连接失败时提示信息
dbConn = null;
Logger.getLogger(Open_DB.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Connection failed 2");
}
System.out.println("connection success!");
}
public static Connection getConn() { //获取数据库的连接方法
return dbConn;
}
}
系统中用到的sql语句主要有:select查询语句,insert插入语句和update更新语句。

(详见系统源码部分)。

如:
insert into books (bookName,author,sortID,price,pub,intro,recommendNumber) values('" + this.getBookName() + "',"+"'" + this.getAuthor() + "'," + this.getSortID() + "," + this.getPrice() + "," + "'" + this.getPub() + "'," + "'" + this.getIntro() + "',"
this.getRecommendNumber() + ")";向数据库中插入新图书信息。

update books set bookName=?,author=?,sortID=?,price=?,pub=?,intro=? where bookID=?";修改指定bookID对应的图书信息。

在NetBeans6.8中网站的项目文件见下图:
项目文件结构①
项目文件结构②
项目文件结构③八、系统功能截图
图8-1 OBBS系统首页
系统首页提供客户和管理员登录以及找回密码的功能。

本例先以admin(客户帐户)帐户登录,用户类型选择普通用户。

图8-2 客户功能模块首页
本页面为注册帐户提供管理个人信息和浏览书店图书信息的链接。

图8-3网上书店客户注册页面
本例注册用户名填写为08ji31,密码为08ji31。

注册用户类型均为普通用户。

图8-4管理员zhlh的管理首页
为管理员提供基本的图书信息添加,修改,图书类别增加,修改,订单信息查看
和删除以及所有注册用户的信息。

图8-5图书信息添加页面(只有系统管理员可以执行本操作)填写要添加图书的信息,如上图所示。

图8-6图书信息添加成功页面
图8-7图书信息修改页面
图8-8图书类别管理页页面
本页面提供添加新图书类别和修改已有图书类别信息的功能。

图8-9新图书类别添加页面添加一个新的图书类别信息,网络管理类别。

图8-10用户信息浏览页面
图8-11客户订单信息管理页面
本页面提供查看和删除订单的功能。

图8-12找回密码页面
本页面中通过验证用户填写的注册用户和注册邮箱来获忘记的密码信息。

信息正确则系统返回用户的登录密码。

撰写人:
日期:。

相关文档
最新文档