欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

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

    • 资源ID:6571       资源大小:167.54KB        全文页数:23页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    -目 录1引言. . .41.2 课程设计目的 . 41.3 课程设计任务.42系统构造分析. 52.1 需求分析 .52.2 系统模块图. .63数据库设计. 93.1 概念构造设计. 93.2 逻辑构造设计. 103.3 数据库表的建立.104系统实现.124.1 数据库的连接. 124.2 系统功能模块设计.135功能测试 . 155.1 订单界面. 155.2 各功能模块的测试 166完毕语. 18致谢.19参考文献.20附录.21书店管理系统的设计与实现订单信息管理模块摘 要 本课程设计主要解决书店的管理问题,设计开发一个简单的书店管理系统 ,实现分类登陆,人员管理,书籍管理,订单管理以及各种查询,报表等功能。在课程设计中,系统开发平台为Windows 7,程序设计语言采用Java,数据库采用Oracle Database 10g E*press Edition,程序运行平台为Windows 7。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在网上书店的管理中,解决实际问题。关键词 书店管理系统;数据库;JavaThe Design and Implementation of the Bookstore Management SystemOrder information management moduleStudent name: Feng Shuhua Advisor:TANG Hui-guoAbstract This course is designed mainly to solve the management issues of the bookstore which include the design and development of a simple bookstore management systems , classification landingachievement , personnel management , book management , order management and various queries or reports functions . In curriculum design ,our system development platform is Windows 7 and programming language uses the Java and database uses Oracle Database 10g E*press Edition, and the program run platform makes use of Windows 7 . After debugging and running , The program is preliminary designed to achieve objectives, and properly perfect so that it can be applied in the management of the online bookstore to solve practical problems .KeywordsBookstore management system;Database; Java1 引言Internet的迅速开展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开场意识到Internet所起到的重大作用.随着书店规模的不断扩大,员工人数的不断增多,使得书店管理的手工操作管理模式的局限性越发突出.本书店管理系统应用了科学的管理模式对员工.书籍.订单信息进展管理和维护,并且还提供了给类报表的打印,使原本非常复杂的手工管理变得简洁明了。计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而防止不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、及时的信息以帮助做出正确而及时的选择与决定,从而给采用这门技术的单位带来了巨大的可见或不可见的利益与效益。书店的不断扩张,需要更为人性化的管理。因而设计一个好的书店管理系统,能够提高书店的管理效率,创造更多的社会价值和经济价值。本论文旨在论述书店管理费系统的设计与开发。通过书店管理系统的设计,熟练掌握Java、Oracle Database 10g E*press Edition等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。本课程设计任务是通过开发一个数据库书店管理系统,学习数据库系统的设计与开发,采用Java和Oracle Database 10g E*press Edition等软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进展调查分析,参考各种资料和进展数据库系统开发实践。在指导教师的帮助下,已经根本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。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 订单信息管理6. "顾客信息设置功能模块用于顾客编号管理、顾客姓名管理、联系方式管理、权限密码信息管理,其功能模块如图2.6所示。顾客信息管理系统顾客编号信息顾客姓名信息联系方式信息权限密码信息图2.6 顾客信息管理本系统将用户划分为一种类型,即书店员工用户。管理员可以管理其他用户的信息,在所有方面所有管理员的权限一样。3数据库设计3.1 概念构造设计根据需求分析抽象出信息构造,可得该系统的E-R图。(1). 雇员E-R图,如图3.1所示。雇员姓名备注生日编号性别图3.1 用户E-R图根据分E-R图和需求分析,可得到总E-R图,如图所示。 总体E-R图根据上述的概念构造设计出逻辑构造,将E-R图转换为关系模型。数据库Bookmanage包含以下5个表:员工信息表Employee、书籍信息表BookInfo 、订单信息表BookOrders、顾客信息表Customs、订单详单表OrderDetail。(1). 订单信息表BookInfo 订单信息表BookInfo 用来保存书籍编号、书籍名称、书籍价格、书籍类型、书籍标记、出版社和库存等信息。表BookInfo 的构造如表3-2所示。表3-2 表BookInfo 的构造编号字段名称数据构造说明1BookIDVarchar2(12)记录书籍编号2BookNameVarchar2(40)记录书籍名称3Pricenumber记书籍价格4BookTypeVarchar2(20)记录书籍类型5BookRemarkVarchar2(20)记录书籍标记6PublisVarchar2(20)记录出版社7Stocknumber记录书籍库存通过对上面表的分析,插入,删除,查找等操作,所有模式都符合3NF。前面是通过前台来实现系统平安性的,我们也可以对数据库进展身份验证,可以从效劳器角度建一个登录名,使得不同的效劳器角色拥有不同的权限,从而实现对数据库的不同权限的管理,以此来增强书店管理系统的平安性。在设计数据库表构造之前,首先要创立一个数据库。本系统使用的数据库为Bookmanage。可以在企业管理器中创立数据库,也可以在查询分析器中执行以下TransactSQl语句:(1) . 创立表BookOrders创立表BookOrders订单信息表,它的代码如下:create table BookOrders(OrdID varchar2(12),TotalPrue number(8),CusID varchar2(12),EmpID varchar2(12),OrdDate date,primary key(OrdID,CusID,EmpID),foreign key(CusID) references Customs(CusID),foreign key(EmpID) references Employee(EmpID);GO(2) . 创立表OrderDetail创立表OrderDetail订单详单信息表,它的代码如下:create table OrderDetail(OrdID varchar2(12),BookID varchar2(12),BookCount number-primary key(OrdID)-foreign key(OrdID) references Orders(OrdID),-foreign key(BookID) references BookInfo(BookID);4系统实现4.1 数据库的连接在该系统中使用的数据库是Oracle Database 10g E*press Edition。客户端采用的是PL/SQL Developer。Java运行环境为Eclipse Indigo。图4.1 数据库连接在Java Build Path中的Libraries中,运行Add E*ternal JARs找到ojdbc14_g.jar并添加,则此时已将数据库和Java程序成功连接。4.2 系统功能模块设置(1). 设计订单信息管理对话框订单信息管理对话框可以用来删除和查询订单信息。添加一个对话框,将其命名为ContentPane。对话框的布局如图4.2所示。图4.2 对话框ContentPane的布局对话框启动,当你点击查找功能键时,则会出现要查询的订单信息,此时你可以实现删除。当用户单击"查询按钮时,将执行ChazhaoYuangongInfo()函数;当用户单击"删除按钮时,将执行ShanchuYuanfongInfo()函数,在删除数据之前,程序要是否选择了要删除的订单记录,否则会提示请"请选中一行。设计订单详单信息管理对话框订单信息管理对话框可以用来删除和查询订单信息。添加一个对话框,将其命名为ContentPane。对话框的布局如图4.3所示。图4.3 对话框ContentPane的布局对话框启动,当你点击查找功能键时,则会出现要查询的订单细则信息,此时你可以实现查询。当用户单击"查询按钮时,将执行ChazhaoYuangongInfo()函数。5功能测试该程序实现了书店管理系统应有的功能,即登陆设置功能、员工信息管理功能、顾客信息管理功能、书籍信息管理功能和订单信息管理和订单详单管理功能。5.1订单信息管理程序运行时,登陆后点击""订单详单便进入订单详单管理界面。如图所示图 5.1订单管理界面和订单详单管理界面5.2各功能模块的实现各功能的实现均与设计对话框相符合,如订单信息管理,当用户选择该项时,会弹出订单信息管理对话框,用户可以进展删除以及查询等操作,界面如图5.2所示,其他界面的功能也都一一实现,完成了该系统的功能要求。图5.2订单信息管理对话框6 完毕语经过这些天的努力,本次课程设计终于完成了。通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。在本次课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写程序的能力,培养了根本的、良好的程序设计技能。这次课程设计同样提高了我的综合运用所学知识的能力。并对Java语言有了更深入的了解。由于我的经历和知识的缺乏,在程序中还存在很多缺陷。经过这次课程设计,我的知识得到了很大提高,经历也更加丰富。今后我会更多的学习编程技巧,不断的提高程序理解和设计能力致 在这次数据库的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。在此,我衷心感谢我的指导教师彭玉旭。彭玉旭教师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。另外,还要感谢学校领导、辅导员、各位同学对我们的关心、帮助,为我们提供了良好的设计环境以及各方面的支持。参考文献1 李彦,韩光林,李玉波. SQL SERVE完全自学手册M.:电子工业出版社,20072 萨师煊,王珊.数据库系统概论.:高等教育出版社. 20053 Y.DanieI Liang.Java. 万波. JAVA语言程序设计M. 第六版. :机械工业出版社,2008附录 局部程序代码/ 程序名称:/ 程序功能:登陆管理/ 程序 冯淑华/ 最后修改日期:2012-09-12/*订单类*/package.vo;public class OrdersVo private String ordersID;private String cusName;private String empName;private String bookName;private String bookPrice;private String bookCount;private String totalPrice;private String ordersDate;public String getOrdersID() return ordersID;public void setOrdersID(String ordersID) this.ordersID = ordersID;public String getCusName() return cusName;public void setCusName(String cusName) this.cusName = cusName;public String getEmpName() return empName;public void setEmpName(String empName) this.empName = empName;public String getBookName() return bookName;public void setBookName(String bookName) this.bookName = bookName;public String getBookPrice() return bookPrice;public void setBookPrice(String bookPrice) this.bookPrice = bookPrice;public String getBookCount() return bookCount;public void setBookCount(String bookCount) this.bookCount = bookCount;public String getTotalPrice() return totalPrice;public void setTotalPrice(String totalPrice) this.totalPrice = totalPrice;public String getOrdersDate() return ordersDate;public void setOrdersDate(String ordersDate) this.ordersDate = ordersDate;/*订单信息*/package.daoImpl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLE*ception;import java.util.ArrayList;import java.util.List;import.DB.DBUtil;import.dao.IOrdersDao;import.vo.BookVo;import.vo.OrdersVo;public class OrdersDao implements IOrdersDao private PreparedStatement pstm;private ResultSet rs;private int rowNum;private Connection conn;private String sql;Overridepublic List<OrdersVo> queryOrders(OrdersVo temp) / TODO Auto-generated method stubDBUtil du = new DBUtil();List<OrdersVo> list = new ArrayList<OrdersVo>();OrdersVo vo = null;try conn = du.getConnect();sql = "select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price, customs.cusname, employee.empname, BookInfo.Bookname, OrderDetail.Bookcount from BookOrders inner join OrderDetail on BookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid = customs.cusid inner join employee on BookOrders.Empid = employee.empid inner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid where customs.cusName = ""pstm = conn.prepareStatement(sql);pstm.setString(1, temp.getOrdersID();rs = pstm.e*ecuteQuery();while (rs.ne*t() String ordersID = rs.getString("ORDID");String cusName = rs.getString("CUSNAME");String empName = rs.getString("EMPNAME");String ordersDate = rs.getString("ORDDATE");vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setOrdersDate(ordersDate);list.add(vo); catch (ClassNotFoundE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic List<OrdersVo> queryAllOrders() / TODO Auto-generated method stubDBUtil du = new DBUtil();List<OrdersVo> list = new ArrayList<OrdersVo>();OrdersVo vo = null;try conn = du.getConnect();sql = "select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price, customs.cusname, employee.empname, BookInfo.Bookname, OrderDetail.Bookcount from BookOrders inner join OrderDetail on BookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid = customs.cusid inner join employee on BookOrders.Empid = employee.empid inner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid"pstm = conn.prepareStatement(sql);rs = pstm.e*ecuteQuery();while (rs.ne*t() String ordersID = rs.getString("ORDID");String cusName = rs.getString("CUSNAME");String empName = rs.getString("EMPNAME");String ordersDate = rs.getString("ORDDATE");vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setOrdersDate(ordersDate);list.add(vo); catch (ClassNotFoundE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic List<OrdersVo> queryOrdersDetail(OrdersVo temp) / TODO Auto-generated method stubDBUtil du = new DBUtil();List<OrdersVo> list = new ArrayList<OrdersVo>();OrdersVo vo = null;try conn = du.getConnect();sql = "select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price, customs.cusname, employee.empname, BookInfo.Bookname, OrderDetail.Bookcount from BookOrders inner join OrderDetail on BookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid = customs.cusid inner join employee on BookOrders.Empid = employee.empid inner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid where BookOrders.ordId = ""pstm = conn.prepareStatement(sql);pstm.setString(1, temp.getOrdersID();rs = pstm.e*ecuteQuery();while (rs.ne*t() String ordersID = rs.getString("ORDID");String cusName = rs.getString("CUSNAME");String empName = rs.getString("EMPNAME");String bookName = rs.getString("BOOKNAME");String bookCount = rs.getString("BOOKCOUNT");String bookPrice = rs.getString("PRICE");String ordersDate = rs.getString("ORDDATE");vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setBookName(bookName);vo.setBookCount(bookCount);vo.setBookPrice(bookPrice);vo.setOrdersDate(ordersDate);list.add(vo); catch (ClassNotFoundE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLE*ception e) / TODO Auto-generated catch blocke.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic List<OrdersVo> queryAllOrdersDetail() / TODO Auto-generated method stubDBUtil du = new DBUtil();List<OrdersVo> list = new ArrayList<OrdersVo>();OrdersVo vo = null;try conn = du.getConnect();sql = "select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price, customs.cusname, employee.empname, BookInfo.Bookname, OrderDetail.Bookcount from BookOrders inner join OrderDetail on BookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid = customs.cusid inner join employee on BookOrders.Empid = employee.empid inner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid"pstm = conn.prepareStatement(sql);rs = pstm.e*ecuteQuery();while (rs.ne*t() String ordersID = rs.getString("ORDID");String cusName = rs.getString("CUSNAME");String empName = rs.getString("EMPNAME");String bookName = rs.getString("BOOKNAME");String bookCount = rs.getString("BOOKCOUNT");String bookPrice = rs.getString("PRICE");String ordersDate = rs.getString("ORDDATE");vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setBookName(bookName);vo.setBookCount(bookCount);vo.setBookPrice(bookPrice);

    注意事项

    本文(书店管理系统数据库课程设计报告.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开