书店管理系统--数据库课程设计.doc

上传人:wj 文档编号:595096 上传时间:2023-04-29 格式:DOC 页数:32 大小:3.32MB
下载 相关 举报
书店管理系统--数据库课程设计.doc_第1页
第1页 / 共32页
书店管理系统--数据库课程设计.doc_第2页
第2页 / 共32页
书店管理系统--数据库课程设计.doc_第3页
第3页 / 共32页
书店管理系统--数据库课程设计.doc_第4页
第4页 / 共32页
书店管理系统--数据库课程设计.doc_第5页
第5页 / 共32页
书店管理系统--数据库课程设计.doc_第6页
第6页 / 共32页
书店管理系统--数据库课程设计.doc_第7页
第7页 / 共32页
书店管理系统--数据库课程设计.doc_第8页
第8页 / 共32页
书店管理系统--数据库课程设计.doc_第9页
第9页 / 共32页
书店管理系统--数据库课程设计.doc_第10页
第10页 / 共32页
书店管理系统--数据库课程设计.doc_第11页
第11页 / 共32页
书店管理系统--数据库课程设计.doc_第12页
第12页 / 共32页
书店管理系统--数据库课程设计.doc_第13页
第13页 / 共32页
书店管理系统--数据库课程设计.doc_第14页
第14页 / 共32页
书店管理系统--数据库课程设计.doc_第15页
第15页 / 共32页
书店管理系统--数据库课程设计.doc_第16页
第16页 / 共32页
书店管理系统--数据库课程设计.doc_第17页
第17页 / 共32页
书店管理系统--数据库课程设计.doc_第18页
第18页 / 共32页
书店管理系统--数据库课程设计.doc_第19页
第19页 / 共32页
书店管理系统--数据库课程设计.doc_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

书店管理系统--数据库课程设计.doc

《书店管理系统--数据库课程设计.doc》由会员分享,可在线阅读,更多相关《书店管理系统--数据库课程设计.doc(32页珍藏版)》请在冰点文库上搜索。

书店管理系统--数据库课程设计.doc

范佳捷《书店管理系统的设计与实现》第32页共32页

目录

1引言 3

1.1课题背景 3

1.2课程设计目的 3

1.3课程设计任务 3

2系统分析 4

2.1需求分析 4

2.2功能模块图 5

3数据库设计 8

3.1概念结构设计 8

3.2逻辑结构设计 10

3.3数据库表的建立 11

4系统详细设计 13

4.1数据库连接的实现 13

4.2系统界面的设计与实现 14

5功能测试和运行结果 17

5.1登录系统界面 17

5.2销售书籍界面 19

5.3管理界面 22

6结束语 30

致谢 31

参考文献 32

书店管理系统的设计与实现

学生姓名:

范佳捷指导老师:

邓广慧

摘要本课程设计主要解决书店的管理问题,设计开发一个简单的书店管理系统,实现分类登录,店员登录可以销售书籍,管理员登录可以实现用户管理,书籍管理,以及各种查询,报表等功能。

在课程设计中,系统开发平台为Windows7,程序设计语言采用Java,数据库采用OracleDatabase10gExpressEdition,程序运行平台为Windows7。

程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在网上书店的管理中,解决实际问题。

关键词书店管理系统;数据库;oracle;Java

1引言

1.1课题背景

Internet的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所起到的重大作用.随着书店规模的不断扩大,员工人数的不断增多,使得书店管理的手工操作管理模式的局限性越发突出.本书店管理系统应用了科学的管理模式对店员,书籍,等信息进行管理和维护,使原本非常复杂的手工管理变得简洁明了。

计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、及时的信息以帮助做出正确而及时的选择与决定,从而给采用这门技术的单位带来了巨大的可见或不可见的利益与效益。

1.2课程设计目的

书店的不断扩张,需要更为人性化的管理。

因而设计一个好的书店管理系统,能够提高书店的管理效率,创造更多的社会价值和经济价值。

本论文旨在论述书店管理系统的设计与开发。

通过书店管理系统的设计,熟练掌握Java、OracleDatabase10gExpressEdition等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。

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

m

用户

管理

购买日期

n

书号

m

n

管理

类别

书名

作者

出版社

进价

定价

库存量

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

Varchar(20)

用户密码

3

identity

Varchar(10)

用户身份

(2)书籍信息表bookinfo

书籍信息表包含信息书号,类别,书名,作者,出版社,进价,定价,库存量。

表bookinfo的结构如表3-2所示。

表3-2表bookinfo的结构

序号

字段名称

数据类型

说明

1

bookid

varchar2(20)

书籍编号,主键

2

category

varchar2(20)

书籍类别

3

bookname

varchar2(50)

书籍名

4

author

varchar2(30)

书籍作者

5

press

varchar2(30)

书籍出版社

6

bid

numeric(4,2)

书籍进价

7

price

numeric(4,2)

书籍售价

8

storage

int

书籍库存量

(3)销售记录表sellrecord

销售记录表包含信息记录编号,书号,购买数量,总价,购买日期,所得利润。

表sellrecord的结构如表3-3所示。

表3-3表sellrecord的结构

序号

字段名称

数据类型

说明

1

recordid

int

记录编号,主键,自动增长

2

bookid

varchar2(20)

书籍编号,外键,

引用于bookinfo表

3

quantity

int

购买书籍的数量

4

totalprice

numeric(8,2)

购买书籍的总价

5

buydate

date

购买书籍的日期

6

profit

numeric(8,2)

购买书籍所得利润

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){

e.printStackTrace();

}

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

JButton

取消登录

btnLogon

JButton

注册用户

表4-2注册功能实现

名称

类型

说明

cmbIdentity

JComboBox

选择身份

txtUserName

JTextField

输入用户名

txtPassword

JPasswordField

输入密码

txtConfirm

JPasswordField

确认密码

btnCertain

JButton

提示注册情况

btnCancel

JButton

取消注册

(2)销售书籍界面

通过店员身份登录系统,进入销售界面,可输入书名或作者进行模糊查询,查询销售书籍的基本信息;选择要购买的书籍,点击“购买书籍”按钮,弹出确认信息界面,在该界面输入要购买或要退订书籍的数量,然后确认购买或确认退订;点击“退出系统”按钮,退出系统。

销售功能实现如表4-3所示。

表4-3销售书籍功能实现

名称

类型

说明

txtBookName

JTextField

输入书名查询

txtAuthor

JTextField

输入作者名查询

tblBookInfo

JTable

显示书籍信息

btnSearch

JButton

根据输入信息搜索书籍信息

btnSell

JButton

购买书籍

btnExit

JButton

退出系统

(3)管理界面

通过管理员身份登录系统,进入管理界面,有三个选项卡,对应书籍管理、用户管理、销售记录三个模块。

A.书籍管理功能实现模块可以选择不同方式,如书名、作者、类别等查询书籍信息,还可以选择某一书籍,对其进行修改信息或删除信息,还可以添加新的书籍信息。

功能实现如表4-4所示。

表4-4书籍管理实现

名称

类型

说明

txtBookName

JTextField

输入书名查询

txtAuthor

JTextField

输入作者名查询

txtCategory

JTextField

输入书籍类别查询

tblBookInfo

JTable

显示书籍信息

btnSearch

JButton

根据输入信息搜索书籍信息

btnUpdate

JButton

修改书籍信息

btnInsert

JButton

添加书籍信息

btnDelete

JButton

删除书籍信息

btnExit

JButton

退出系统

B.用户管理功能实现模块可以通过用户名或身份查询用户信息,还可以修改用户的密码,删除用户信息和注册新的用户。

功能实现如表4-5所示。

表4-5用户管理实现

名称

类型

说明

txtUserName

JTextField

输入用户名查询

txtIdentity

JTextField

输入身份类型查询

tblUserInfo

JTable

显示用户信息

btnUserSearch

JButton

根据输入信息搜索用户信息

btnUpdateUser

JButton

修改用户密码

btnInsertUser

JButton

注册新用户

btnDeleteUser

JButton

删除用户信息

C.销售记录功能实现模块可以通过书号查询该书的销售情况,通过购买日期查询某日的书籍销售情况。

功能实现如表4-6所示。

表4-6销售记录实现

名称

类型

说明

txtRecordBookId

JTextField

输入书号查询销售记录

txtBuyDate

JTextField

输入购书日期查询记录

tblSellRecord

JTable

显示销售记录

btnRecordSearch

JButton

根据输入信息搜索销售记录

btnCount

JButton

根据输入日期统计所得利润

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管理界面

以管理员身份

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2