书店管理系统--数据库课程设计Word格式.doc
- 文档编号:838725
- 上传时间:2023-04-29
- 格式:DOC
- 页数:32
- 大小:3.32MB
书店管理系统--数据库课程设计Word格式.doc
《书店管理系统--数据库课程设计Word格式.doc》由会员分享,可在线阅读,更多相关《书店管理系统--数据库课程设计Word格式.doc(32页珍藏版)》请在冰点文库上搜索。
1.3课程设计任务
本课程设计任务是通过开发一个数据库书店管理系统,学习数据库系统的设计与开发,采用Java和OracleDatabase10gExpressEdition等软件为开发工具。
通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。
在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。
2系统分析
2.1需求分析
书店管理系统是适应时代发展的需要,提高管理的效率而开发设计的。
通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为书店管理人员提供全面、准确的各种数据。
实现了书店管理的简单化和规划化,提高了书店的工作效率,从而使书店能够以少的投入获得更好的社会效益与经济效益。
经过综合分析,确定了书店管理系统的主要包括以下功能:
(1)登录管理功能
用户登录需要正确的用户名和密码以及正确的身份。
用户分为两种类型,即书店店员和管理员。
管理员可以管理其他用户的信息,管理书籍信息,可以调整书籍价格与库存信息。
店员只能进行售书。
(2)用户管理功能
通过管理员登录进行用户管理,可实现查询用户信息、添加用户、删除用户和修改密码的功能。
(3)书籍管理功能
通过管理员登录进行书籍管理,可实现查询书籍信息、删除书籍信息、添加书籍信息、修改书籍信息的。
(4)售书功能
通过店员登录进行售书功能,可实现查询书籍的基本信息及库存情况,选择书籍进行购买和退订。
(5)销售记录功能
每次成功购买书籍生成一条销售记录,可根据购书日期查询某一天的销售情况,或者根据某一本书的书号模糊查询该书的销售情况。
另外可根据输入的确切日期,统计该日的销售所得利润。
2.2功能模块图
1.根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。
书店管理系统
登录管理模块
书籍管理模块
销售书籍模块
用户管理模块
销售记录模块
图2.1书店管理系统功能模块示意图
2.“用户管理模块”功能模块用于查询、添加、删除用户信息,以及修改密码,其功能模块如图2.2所示。
用户信息管理
查询用户信息
修改密码信息
添加用户信息
删除用户信息
图2.2用户信息管理
3.“书籍信息管理模块”功能模块用于查询、添加、删除、修改书籍信息,修改书籍信息可以对书籍名称、出版社信息、书籍数量、书籍价格等进行管理,其功能模块如图2.3所示。
书籍信息管理
查询书籍信息
修改书籍信息
添加书籍信息
删除书籍信息
图2.3书籍信息管理
4.“销售书籍”功能模块用于查询销售书籍的基本信息,购买书籍以及退订书籍,其功能模块如图2.4所示。
销售书籍
确定购买数量
更新库存信息
选择购买书籍
生成销售记录
图2.4销售书籍
5.“销售记录”功能模块用于销售信息统计、查询以及销售利润统计,其功能模块如图2.5所示。
销售记录
完全销售记录
查询某本书记录
查询某日记录
统计利润
图2.5销售记录
3数据库设计
3.1概念结构设计
根据需求分析抽象出信息结构,可得该系统的E-R图。
(1)用户E-R图,如图3.1所示。
用户
密码
身份
用户名
图3.1用户E-R图
(2)书籍E-R图,如图3.2所示。
类别
书号
书名
出版社
作者
书籍
进价
定价
库存
图3.2书籍E-R图
(3)销售记录E-R图,如图3.3所示。
购买数量
记录编号
利润
购买日期
总价
图3.3销售记录E-R图
(4)根据分E-R图和需求分析,可得到总E-R图,如图3.4所示。
销售
m
用户
管理
n
库存量
书籍
图3.4总体E-R图
3.2逻辑结构设计
根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。
数据库包含以下3个表:
用户信息表userinfo,书籍信息表bookinfo,销售记录表sellrecord。
关系模式:
用户信息表:
用户名,用户密码,用户身份
书籍信息表:
书号,类别,书名,作者,出版社,进价,定价,库存量
销售记录表:
记录编号,书号,购买数量,总价,购买日期,所的利润
(1)用户信息表userinfo
用户信息表包含信息用户名,用户密码,用户身份。
表userinfo的结构如图3-1所示
表3-1:
userinfo(用户信息表)
序号
字段名称
数据类型
说明
1
username
Varchar(20)
用户名,主键
2
password
用户密码
3
identity
Varchar(10)
用户身份
(2)书籍信息表bookinfo
书籍信息表包含信息书号,类别,书名,作者,出版社,进价,定价,库存量。
表bookinfo的结构如表3-2所示。
表3-2表bookinfo的结构
说明
bookid
varchar2(20)
书籍编号,主键
category
书籍类别
bookname
varchar2(50)
书籍名
4
author
varchar2(30)
书籍作者
5
press
书籍出版社
6
bid
numeric(4,2)
书籍进价
7
price
书籍售价
8
storage
int
书籍库存量
(3)销售记录表sellrecord
销售记录表包含信息记录编号,书号,购买数量,总价,购买日期,所得利润。
表sellrecord的结构如表3-3所示。
表3-3表sellrecord的结构
recordid
记录编号,主键,自动增长
书籍编号,外键,
引用于bookinfo表
quantity
购买书籍的数量
totalprice
numeric(8,2)
购买书籍的总价
buydate
date
购买书籍的日期
profit
购买书籍所得利润
3.3数据库表的建立
在设计数据库表结构之前,首先要创建一个数据库;
本系统使用的数据库为xe;
(1)创建表userinfo(用户信息表)
createtableuserinfo(
usernamevarchar2(20),
passwordvarchar2(20),
identityvarchar2(10),
constraintspk_userinfoprimarykry(username)
);
(2)创建表bookinfo(书籍信息表)
createtablebookinfo(
bookidvarchar2(20)notnull,
categoryvarchar2(20),
booknamevarchar2(50)notnull,
authorvarchar2(30),
pressvarchar2(30),
bidnumeric(4,2),
pricenumeric(4,2),
storageint,
constraintspk_book_idprimarykey(bookid)
(3)创建表sellrecord(销售记录表)
createtablesellrecord(
recordidintprimarykey,
bookidvarchar2(20)notnull,
quantityintnotnull,
totalpricenumeric(8,2),
buydatedatenotnull,
profitnumeric(8,2),
constraintsfk_sellrecord_bookidforeignkey(bookid)referencesbookinfo(bookid)
);
createsequenceRECORD_SEQUENCE
minvalue1
maxvalue999999999999999999999999999
startwith1
incrementby1
cache20;
createtrigger"
record_trigger"
before
insertonsellrecordforeachrowwhen(new.recordidisnull)
begin
selectRECORD_SEQUENCE.nextvalinto:
new.recordidfromdual;
end;
4系统详细设计
4.1数据库连接的实现
在该系统中使用的数据库是OracleDatabase11gExpressEdition。
客户端采用的是PL/SQLDeveloper。
Java运行环境为Eclipse。
在安装好了软件之后,数据库的连接设置在Eclipse里的Properties功能键中。
在JavaBuildPath中的Libraries中,运行AddExternalJARs,找到目录下的classes12.jar并添加。
在java代码中编写getConnection()方法,连接数据库,代码如下:
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
Stringdriver="
oracle.jdbc.driver.OracleDriver"
;
Stringurl="
jdbc:
oracle:
thin:
@127.0.0.1:
1521:
xe"
Stringuser="
system"
Stringpassword="
password"
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
}
returnconn;
}
在连接数据库执行sql语句时,代码如下:
Connectionconn=DBManager.getConnection();
Statementst=null;
ResultSetrs=null;
try{
st=conn.createStatement();
rs=st.executeQuery(sql);
}catch(SQLExceptione){
e.printStackTrace();
}
由Statement对象st执行sql语句可得到查询结果集ResultSet类的rs实例,由rs的各种方法可取出查询结果。
4.2系统界面的设计与实现
(1)登录界面
登录界面选择身份,输入相应的用户名和密码,点击“登录”按钮进入对应身份的主界面,若登录信息不正确,则提示输入正确的信息;
点击“取消”按钮则关闭登录界面;
点击“注册”按钮,则弹出注册用户对话框,进行用户注册。
注册用户界面时,输入注册信息,点击“确定”提示注册情况,若用户名已存在,或用户名、密码超过指定长度,或两次输入密码不一致,则提示注册失败及原因,否则注册成功;
点击“取消”按钮则取消注册。
登录功能实现如表4-1所示,注册功能实现如表4-2所示。
表4-1登录功能实现
名称
类型
说明
cmbIdentity
JComboBox
选择身份
txtUserName
JTextField
输入用户名
txtPassword
JPasswordField
输入密码
btnCertain
JButton
登录主界面
btnCancel
取消登录
btnLogon
注册用户
表4-2注册功能实现
txtConfirm
确认密码
提示注册情况
取消注册
(2)销售书籍界面
通过店员身份登录系统,进入销售界面,可输入书名或作者进行模糊查询,查询销售书籍的基本信息;
选择要购买的书籍,点击“购买书籍”按钮,弹出确认信息界面,在该界面输入要购买或要退订书籍的数量,然后确认购买或确认退订;
点击“退出系统”按钮,退出系统。
销售功能实现如表4-3所示。
表4-3销售书籍功能实现
txtBookName
输入书名查询
txtAuthor
输入作者名查询
tblBookInfo
JTable
显示书籍信息
btnSearch
根据输入信息搜索书籍信息
btnSell
购买书籍
btnExit
退出系统
(3)管理界面
通过管理员身份登录系统,进入管理界面,有三个选项卡,对应书籍管理、用户管理、销售记录三个模块。
A.书籍管理功能实现模块可以选择不同方式,如书名、作者、类别等查询书籍信息,还可以选择某一书籍,对其进行修改信息或删除信息,还可以添加新的书籍信息。
功能实现如表4-4所示。
表4-4书籍管理实现
txtCategory
输入书籍类别查询
btnUpdate
btnInsert
btnDelete
B.用户管理功能实现模块可以通过用户名或身份查询用户信息,还可以修改用户的密码,删除用户信息和注册新的用户。
功能实现如表4-5所示。
表4-5用户管理实现
输入用户名查询
txtIdentity
输入身份类型查询
tblUserInfo
显示用户信息
btnUserSearch
根据输入信息搜索用户信息
btnUpdateUser
修改用户密码
btnInsertUser
注册新用户
btnDeleteUser
C.销售记录功能实现模块可以通过书号查询该书的销售情况,通过购买日期查询某日的书籍销售情况。
功能实现如表4-6所示。
表4-6销售记录实现
txtRecordBookId
输入书号查询销售记录
txtBuyDate
输入购书日期查询记录
tblSellRecord
显示销售记录
btnRecordSearch
根据输入信息搜索销售记录
btnCount
根据输入日期统计所得利润
5功能测试和运行结果
本系统实现了书店管理系统应有的功能,即登录功能、用户信息管理功能、书籍信息管理功能、书籍销售功能和生成销售记录功能。
5.1登录系统界面
程序运行时,首先来到登录界面,输入正确的信息,点击“登录”按钮,则弹出欢迎消息提示框,点击“确定”进入系统主界面,登录界面如图5.1所示。
欢迎消息对话框如图5.2所示。
若输入信息有误,则会弹出提示错误对话框,如图5.3,5.4所示。
点击“注册”按钮,弹出注册界面,注册界面如图5.5所示。
输入注册信息后点击确定,则弹出对应的注册成功提示,或注册失败及原因提示框。
如图5.6,5.7,5.8所示。
图5.1登录界面
图5.2欢迎消息
图5.3登录身份错误提示
图5.4登录错误提示
图5.5注册界面
图5.6注册成功
图5.7用户名已存在
图5.8注册信息不符规则
5.2销售书籍界面
以店员身份登录系统,进入销售书籍界面,销售书籍界面如图5.9所示。
图5.9销售书籍界面
在销售书籍界面中可操作:
a.点击“搜索”按钮,根据输入的书名、作者搜索数据库中符合输入信息的书籍信息并在列表中显示出来,如图5.10所示。
b.选择一行数据,点击“购买书籍”按钮,弹出确认信息及确定数量对话框,如图5.11所示,输入要购买的书籍数量,点击“确定”则弹出总金额提示框,如图5.12所示,点击“确定”则购买成功。
若购买书籍的数量大于该书的库存量,则提示库存不足,如图5.13所示。
c.点击“退出系统”按钮,弹出提示框“确定退出吗?
”,如图5.14所示。
点击“确定”则退出系统。
图5.10销售书籍查询
图5.11确定购买数量
图5.12提示购买书籍的总金额
图5.13提示库存不足
图5.14确定退出系统
5.3管理界面
以管理员身份
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 书店 管理 系统 数据库 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)