收藏 分销(赏)

网上书店信息管理系统加代码加数据库表样本.doc

上传人:二*** 文档编号:4575689 上传时间:2024-09-30 格式:DOC 页数:108 大小:363.54KB
下载 相关 举报
网上书店信息管理系统加代码加数据库表样本.doc_第1页
第1页 / 共108页
亲,该文档总共108页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、书店信息管理系统设计与实现学生姓名:蒋 斌 指引教师:罗永红摘 要 本课程设计重要是设计一种书店信息管理系统,实现顾客注册、登录,书店书籍添加、删除、修改、查询及图书购买等功能。程序设计平台为Windows 7,程序设计语言采用JAVA,所连接数据库是oracle 11g。在程序设计中,采用了构造化与面向对象两种解决问题办法。程序通过调试运营,初步实现了目的。核心词 数据库;oracle 11g;JAVA;书店信息管理系统The Design and Implementation of Book Store Information Management SystemStudent Name:J

2、iangBin Advisor:LuoYong-hongAbstract This course design is mainly to make a information management system of a online bookstore,The function of the system include book adding ,deleting and querying and purchase books. Program design platform is Windows XP,programming language is JAVA,are the connect

3、ed database is Oracle 10g. In the program process,I adopted two solution of the structured and object-oriented. Program run through the debugger,achieving the initial goal. Keywords Database;oracle 10g;JAVA;Online Bookstore Information Management System目 录1引言11.1 课题背景11.2 课程设计目11.3课程设计任务12 系统构造分析22.

4、1 需求分析22.2 功能模块图33 数据库设计43.1 概念构造设计43.2逻辑构造设计63.3数据库表建立84功能实现104.1注册界面104.2 登录界面114.3主界面124.4书籍添加124.5 书籍修改134.6 图书删除144.7 图书删除144.8 订单查询修改155 系统技术实现165.1 JAVA165.2 oracle166 结束语18参照文献191引言1.1 课题背景随着计算机技术发展以及计算机网络逐渐普及,英特网成为人们查找信息重要场合。21世纪是信息时代,因此信息互换和信息流通显特别重要。因而网上书店浮现成为必然。1.2 课程设计目随着计算机广泛应用,其逐渐成为当代

5、化标志。书店等,在正常运营过程中总是面对大量客户信息,书籍信息以及两者互相作用产生购书信息。因而需要对客户资源、书籍资源、购书信息及书籍信息进行管理,及时理解各个环节中信息变更,要对因而而产生单据进行及时解决,为了书店自动化管理,可以更迅速满足客户规定,提高各种工作效率,现对其设计相应系统,以达到上述目。网上书店信息管理系统重要功能是实现书籍信息管理及购书自动化。环绕这一重要功能,本系统涉及到如下核心功能:上传管理,修改管理,查询管理。除了这些核心功能外,还涉及某些基本和辅助功能,如:商家和客户注册、登录,客户购书等。1.3课程设计任务本课程设计任务是通过开发一种书店信息管理系统,学习数据库系

6、统设计与开发,采用Eclipse和oracle 10g等软件为开发工具。通过对计算机硬件和软件解决方案论证,相应用领域进行调查分析,参照各种资料和进行数据库系统开发实践。在指引教师协助下,已经基本上成功地实现了设计任务书规定,使得设计数据库系统可以实现普通数据库管理。2 系统构造分析2.1 需求分析网上书店信息管理系统是适应计算机时代发展需要,提高管理效率而开发设计。通过对书籍信息管理,使客户能轻松购买书籍。通过综合分析,拟定了网上书店信息管理系统重要涉及如下功能:(1)商家:a、商家注册功能此模块重要功能是用于商家注册账号;b、商家登录功能此模块重要功能是用于拥有商家账号顾客登陆系统对自己书

7、店进行管理;c、上传书籍功能此模块重要功能是用于商家发布某些新书共客户查看及购买;d、书籍修改功能此模块重要功能是用于商家修改自己书店书籍信息;e、书籍删除功能此模块重要功能是用于商家删除某些书籍信息;f、书籍查询功能 此模块重要功能是用于商家查询自己书店书籍;g、订单查询功能此模块重要功能是用于商家查询自己书店卖书记录;(2)客户:a、商家注册功能此模块重要功能是用于商家注册账号;b、商家登录功能此模块重要功能是对拥有客户账号顾客登录;c、商品信息查询功能此模块重要功能是用于客户查看所有商家书籍信息;d、书籍购买功能此模块重要功能用于客户购买书籍e、订单查询功能此模块重要功能是用于客户查询自

8、己购书记录;2.2 功能模块图依照上述功能,可以设计出系统总体功能模块,如图2.1所示,网上书店信息管理系统商家书籍查询客户注册登录书籍上传书籍修改书籍删除订单查询注册书籍查询登录购买书籍订单查询图2.1 系统功能模块示意图3 数据库设计3.1 概念构造设计依照需求分析抽象出信息构造,可得该系统E-R图,(1)商家顾客E-R图,如图3.1所示,sellerpwdaddressSeller_idSeller_nameme图3.1 商家顾客E-R图(2)客户顾客E-R图,如图3.2所示,buyerpwdaddressbuyer_idbuyer_nameme图3.2 客户顾客E-R图(3) 书籍信息

9、E-R图,如图3.3所示,goodspricediscountnumGoods_idSeller_idGoods_name图3.3 书籍信息E-R图(4)订单E-R图,如图3.4所示,orderBuyer_idGoods_idorder_idSeller_idnum图3.4 商家顾客E-R图(5)依照分E-R图和需求分析,可得到总E-R图,如图3.5所示。图3.5 总E-R图3.2逻辑构造设计依照上述概念构造设计出逻辑构造,将E-R图转换为关系模型。数据库ORCL包括如下4个表:商家信息表seller、客户信息表buyer、书籍信息表goods、订单信息表order。(1) 商家信息表sell

10、er商家信息表seller用来保存商家账号、密码等信息,表seller构造如表3-1所示,表3-1 表seller构造字段名阐明类型长度及备注seller_id商家编号varchar2(20)主键seller_name书店名称varchar2(20)pwd密码varchar2(20)address书店地址varchar2(200)(2) 客户信息表buyer客户信息表buyer用来保存客户账号、密码等信息,表buyer构造如表3-2所示,表3-2 表buyer构造字段名阐明类型长度及备注buyer_id客户编号varchar2(20)主键buyer_name客户名字varchar2(20)pw

11、d密码varchar2(20)address客户住址varchar2(200)(3)图书信息表goods书籍信息表goods用来保存书号、书名、作者等信息。表goods构造如表3-3所示,表3-3 表goods构造字段名阐明类型长度及备注goods_id书籍编号int主键seller_id商家编号varchar(20)外键goods_name书籍名称varchar(50)price价格intdiscount折扣intnum书籍数量int(4)订单信息表order订单信息表order用来保存订单号、书籍编名等信息。表order构造如表3-4所示,表3-4 表order构造字段名阐明类型长度及备注

12、order_id订单编号int主键goods_id书籍编号varchar(20)外键seller_id商家编号varchar(50)外键buyer_id客户编号int外键num购买数量int3.3数据库表建立在设计数据库表构造之前,一方面要创立一种数据库实例。本系统使用数据库为oracle 10g。数据库表建立语句如下:-商家create table seller( seller_id varchar2(20) primary key, seller_name varchar2(20), pwd varchar2(20), address varchar2(200);-客户create tab

13、le buyer( buyer_id varchar(20) primary key, buyer_name varchar(20), pwd varchar2(20), address varchar(200);-书籍create table goods( goods_id int primary key, seller_id varchar(20), goods_name varchar(50), price int, discount int, num int, constraint fk_seller_id foreign key(seller_id) references selle

14、r(seller_id);-订单create table orders( order_id int primary key, goods_id int, seller_id varchar(20), buyer_id varchar(20), num int, constraint fk_goods_id foreign key(goods_id) references goods(goods_id), constraint fk_sellers_id foreign key(seller_id) references seller(seller_id), constraint fk_buye

15、r_id foreign key(buyer_id) references buyer(buyer_id);4功能实现该程序实现了网上书店信息管理系统应有功能,即账号注册、登录功能、书籍查询、书籍添加、书籍删除、书籍修改、书籍购买功能。4.1注册界面程序运营浮现注册界面,规定顾客输入相应信息,当信息符合规定期,注册成功,如图4.1所示,图 4.1注册界面实现注册功能核心代码如下:/构建客户对象Buyer buyer = new Buyer();/设立客户信息buyer.setId(fieldCus0.getText();buyer.setName(fieldCus1.getText();buy

16、er.setPwd(fieldCus2.getText();buyer.setAddress(fieldCus3.getText();/构建BuyerDao对象BuyerDao dao = new BuyerDao();/把该客户插入到数据库中int flag_1 = dao.insertBuyer(buyer);4.2 登录界面程序运营浮现登陆界面,规定顾客输入相应信息,当信息符合规定期,登录成功,如图4.2所示,图 4.2 登录界面当登录成功时,进入主界面,实现登录功能核心代码如下:/通过输入姓名和密码获取一种顾客对象Seller seller = SellerDao.getSeller(

17、useNameText.getText(),pws.getText();/判断队形与否为空if(seller.getId()!=null)/隐藏当前窗口setVisible(false);/构建顾客主窗口,并显示出来new SellerFrame().setVisible(true);4.3主界面登录成功后商家和客户分别进入两个不同主界面,如图4.3所示,图 4.3主界面图 4.3主界面界面主界面里面商家可以查看到自己商品信息及商品出售后生成订单信息,客户则可以浏览所有商家商品信息和自己购物记录。4.4书籍添加该模块重要用于商家添加书籍,如图4.4所示,图 4.4书籍添加界面添加成功后该商家及

18、客户均能浏览到该书籍信息,实现添加书籍功能核心代码如下:/构建GoodsDao对象GoodsDao dao = new GoodsDao();/设立goods属性goods.setDiscount(Integer.valueOf(fieldDiscount.getText();goods.setName(fieldName.getText();goods.setNum(Integer.valueOf(fieldNum.getText();goods.setPrice(Integer.valueOf(fieldPrice.getText();/调用dao.insertGoods()办法,把商品插

19、入到数据库中dao.insertGoods(goods);4.5 书籍修改该模块重要用于商家修改自己书籍信息,如图4.5所示,图 4.4书籍修改界面该界面进来后一方面会显示出商品信息,修改好数据后,点击修改按钮则可以对商品进行修改,实现修改功能核心代码如下:/构建GoodsDao对象GoodsDao dao = new GoodsDao();/读取相应文本框信息并设立到goods里面goods.setDiscount(Integer.valueOf(fieldDiscount.getText();goods.setName(fieldName.getText();goods.setNum(In

20、teger.valueOf(fieldNum.getText(); goods.setPrice(Integer.valueOf(fieldPrice.getText();/修改goods信息dao.updateGoods(goods);4.6 图书删除该模块重要用于商家对书籍进行删除操作,如图4.6所示,图 4.6书籍删除界面 当商家往文本框里输入书籍编号后,点击删除,则可以对书籍进行删除,当书籍编号输入错误,点击删除时系统会弹出提示信息,实现该模块功能代码如下:/获取文本框中输入书籍编号int id = Integer.parseInt(field.getText();/构建GoodsDa

21、oGoodsDao dao = new GoodsDao();/调用/调用deleteById办法,删除书籍 dao.deleteById(id)4.7 图书删除 该模块重要用于客户购买书籍,如图4.7所示,图 4.7 图书购买当客户往文本框里面输入书籍标号,选取好商品数量后,点击购买就可以实现客户对书籍购买。如果书籍编号错误或商品数量不够时,系统会弹出提示,实现购书功能核心代码如下:/构建GoodsDao对象GoodsDao dao = new GoodsDao();/构建goods对象Goods goods = new Goods();/减少库存数量goods.setNum(goods.g

22、etNum()-num);/修改商品信息dao.updateGoods(goods);/构建订单对象OrderDao order = new OrderDao();/插入一条订单数据order.inserOerderByGoods(goods,num);4.8 订单查询修改该模块重要用于客户查看生成订单,如图4.8所示,图4.8 订单查询模块5 系统技术实现5.1 JAVAJava 编程语言风格十分接近C、C+语言。Java是一种纯面向对象程序设计语言,它继承了 C+ 语言面向对象技术核心,Java舍弃了C +语言中容易引起错误指针(以引用取代)、运算符重载(operator overload

23、ing)、多重继承(以接口取代)等特性,增长了垃圾回收器功能用于回收不再被引用对象所占据内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于普通编译执行计算机语言和解释执行计算机语言。它一方面将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上虚拟机来解释执行字节码,从而实现了“一次编译、处处执行” 跨平台特性2。5.2 oracleOracle数据库涉及Oracle数据库服务器和客户端。Oracle数据库服务器:

24、Oracle Server是一种对象一关系数据库管理系统。它提供开放、全面、和集成信息管理办法。每个Server由一种 Oracle DB和一种 Oracle Server实例构成。它具备场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库相应唯一一种实例名SID,Oracle数据库服务器启动后,普通至少有如下几种顾客:Internal,它不是一种真实顾客名,而是具备SYSDBA优先级Sys顾客别名,它由DBA顾客使用来完毕数据库管理任务,涉及启动和关闭数据库;Sys,它是一种 DBA顾客名,具备最大数据库操作权限;System,它

25、也是一种 DBA顾客名,权限仅次于 Sys顾客。客户端:为数据库顾客操作端,由应用、工具、SQL* NET构成,顾客操作数据库时,必要连接到一服务器,该数据库称为本地数据库(Local DB)。在网络环境下其他服务器上 DB称为远程数据库(Remote DB)。顾客要存取远程 DB上数据时,必要建立数据库链。Oracle数据库体系构造涉及物理存储构造和逻辑存储构造。由于它们是相分离,因此在管理数据物理存储构造时并不会影响对逻辑存储构造存取。1.逻辑存储构造它由至少一种表空间和数据库模式对象构成。这里,模式是对象集合,而模式对象是直接引用数据库数据逻辑构造。模式对象涉及这样某些构造:表、视图、序

26、列、存储过程、同一词、索引、簇和数据库链等。逻辑存储构造涉及表空间、段和范畴,用于描述如何使用数据库物理空间。而其中模式对象和关系形成了数据库关系设计。数据块(Block):是数据库进行UO操作最小单位,它与操作系统块不是一种概念。oracle数据库不是以操作系统块为单位来祈求数据,而是以各种Oracle数据库块为单位。段(Segment):是表空间中一种指定类型逻辑存储构造,它由一种或各种范畴构成,段将占用并增长存储空间。其中涉及:数据段:用来存储表数据;索引段:用来存储表索引;暂时段:用来存储中间成果;回滚段:用于浮现异常时,恢复事务。范畴(Extent):是数据库存储空间分派逻辑单位,一

27、种范畴由许多持续数据块构成,范畴是由段依此分派,分派第一种范畴称为初始范畴,后来分派范畴称为增量范畴3。6 结束语通过这两周不断学习和设计开发加上教师同窗协助,终于完毕了本次课程设计。在完毕过程中,我进一步学习了Java基本语法以及熟悉了用Java编写图形顾客界面,同步也规范了许多编写习惯,对数据库某些基本操作也有了进一步理解。在编程过程中遇到许多问题,但通过查资料,以及与同窗讨论,大某些问题得到理解决。但由于时间问题以及某些其她因素,本系统也扔存在许多问题,功能也不是很完善,例如某些输入数据控制,正则表达式匹配这方面做还很不够。但我觉得通过这次课程设计我还是学到了诸多,如果下次再去做类似东西

28、我觉得我一定会做更好。参照文献1 萨师煊, 王珊.数据库系统概论(第三版)M.北京:高等教诲出版社. .2 Y.Daniel Liang.Java语言程序设计基本篇M.北京:机械工业出版社.3 夏帮贵,刘凡馨.JDBC AP数据库编程实材作教.北京:北京但愿电子出版社.4 王立福. 软件工程(第二版)M. 北京:北京大学出版社.附录 所有源代码package com.shoeShop.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Conn

29、ect private static Connection con = null;private static String url=jdbc:oracle:thin:localhost:1521:ORCL;private static String driver = oracle.jdbc.driver.OracleDriver;private static String user = scott;private static String pwd = tiger;public static Connection getConnection()try Class.forName(driver

30、);con = DriverManager.getConnection(url,user,pwd);System.out.println(数据库连接成功!); catch (ClassNotFoundException e) System.out.println(驱动加载失败!); catch (SQLException e) System.out.println(数据库连接失败!);return con;public static void main(String args) Connect.getConnection();package com.shoeShop.action;import

31、 java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JPanel;import com.shoeShop.view.RegisterFrame;public class docMenuAction implements ActionListener RegisterFrame register = null;JPanel cusPanel = null;JPanel docPanel = null;public docMenuAction(RegisterFrame regist

32、er)this.register = register;this.cusPanel = register.cusPanel;this.docPanel = register.docPanel;public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubregister.flag = 1;/System.out.println(register.flag);register.remove(cusPanel);register.add(docPanel);docPanel.updateUI();packag

33、e com.shoeShop.dao;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.shoeShop.db.Connect;import com.shoeShop.entity.Buyer;import com.shoeShop.entity.Seller;public class BuyerDao private static Connection conn;private static Stateme

34、nt statement;private static ResultSet resultSet;/插入数据,用于注册public int insertBuyer(Buyer buyer)int flag = 0;conn = Connect.getConnection();try statement = conn.createStatement();String sql = insert into buyer values(+buyer.getId()+,+buyer.getName()+,+buyer.getPwd()+,+buyer.getAddress()+);/System.out.p

35、rintln(buyer+sql);flag = statement.executeUpdate(sql);statement.close();conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/System.out.println(flag);return flag;/通过顾客名和密码查询,用于登录public static Buyer getBuyer(String name,String pwd)conn = Connect.getConnection();B

36、uyer buyer = new Buyer();try statement = conn.createStatement();String sql = select * from buyer where buyer_id=+name+ and pwd = +pwd+;resultSet = statement.executeQuery(sql);while(resultSet.next()buyer.setId(resultSet.getString(buyer_id);buyer.setName(resultSet.getString(buyer_name);buyer.setPwd(re

37、sultSet.getString(pwd);buyer.setAddress(resultSet.getString(address);resultSet.close();statement.close();conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return buyer;public static void main(String args) BuyerDao dao = new BuyerDao();System.out.println(dao.ge

38、tBuyer(zxk,654321);/Buyer buyer = new Buyer();/buyer.setId(lily);/buyer.setName(长理专卖);/buyer.setPwd(123456);/buyer.setAddress(湖南长沙);/dao.insertBuyer(buyer);package com.shoeShop.dao;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java

39、.util.ArrayList;import com.shoeShop.db.Connect;import com.shoeShop.entity.Goods;import com.shoeShop.entity.Seller;import com.shoeShop.imp.User;public class GoodsDao private static Connection conn;private static Statement statement;private static ResultSet resultSet;/查询登录商家所有商品,用于商家管理自己商品public Array

40、List getAllGoods()ArrayList list = new ArrayList();conn = Connect.getConnection();try statement = conn.createStatement();String sql = select * from goods a,seller b where a.seller_id=b.seller_id and b.seller_id=+User.getUserName()+;resultSet = statement.executeQuery(sql);while(resultSet.next()Seller

41、 seller = new Seller();seller.setName(resultSet.getString(seller_name);seller.setAddress(resultSet.getString(address);Goods goods = new Goods();goods.setSeller(seller);goods.setId(resultSet.getInt(goods_id);goods.setName(resultSet.getString(goods_name);goods.setSeller_id(resultSet.getString(seller_i

42、d);goods.setDiscount(resultSet.getInt(discount);goods.setNum(resultSet.getInt(num);goods.setPrice(resultSet.getInt(price);/System.out.println(goods.toString();list.add(goods); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallytry resultSet.close();statement.close();conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return list;/查询所有商家所有商品.用于顾客搜索商品public ArrayList getAllSellerGoods()ArrayList list = new ArrayLi

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服