收藏 分销(赏)

数据库课程设计图书销售管理系统.doc

上传人:二*** 文档编号:4513511 上传时间:2024-09-26 格式:DOC 页数:24 大小:2.73MB 下载积分:5 金币
下载 相关 举报
数据库课程设计图书销售管理系统.doc_第1页
第1页 / 共24页
本文档共24页,全文阅读请下载到手机保存,查看更方便
资源描述
《数据库原理》课程设计报告 专业: 软 件 工 程 班级: 软件1201、软件1202 学号: 、 姓名: 向文静、黄鹏 题目名称: 图书销售管理系统 完毕日期: 2023年5月25日 计算机学院实验中心 引 言 随着计算机的普及书店规模的不断扩大,传统的图书销售管理方法,都是通过人工记录和计算的管理方式进行的。这样的管理方法不仅费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员可以有序的、全面的对图书销售和库存进行管理。 通过图书销售管理系统可以解决书店管理中碰到的各种问题,该图书销售管理系统分析了市场需求和实际需要,运用Microsoft Visual Studio 2023连接SQL数据库的方式,实现了书店的图书销售等一系列管理,该系统具有解决图书录入、图书销售及管理、图书查询、报表查询等功能。 第一章 系统分析 1.1功能需求: 本系统是根据书店的实际需求而开发的,规定稳定、可靠的实现图书销售的自动化管理,通过本系统可以达成以下目的: a、 用户管理:对系统所有用户的相关信息进行管理。 b、 图书管理:对图书信息进行添加以及编辑,对图书基本信息的录入及编辑涉及图书类别、图书进价、图书售价、图书出版社、图书折扣、图书作者等。 c、 图书销售管理:对图书的销售信息进行动态添加并实现对图书库存量的动态修改等,所添加的图书销售信息涉及图书的售价、折扣、销售日期。 d、 查询管理:用户根据实际需要对图书、图书销售、图书库存等信息分类查询。 e、 报表查询:系统用户可以通过对时间段的选择来查看该段时间内图书的销售情况,以便于做出更为合理的销售计划、提高效益。 f、 数据管理:为了防止系统用户的误操作,用户可以根据自己的需要对图书信息、销售数据等进行备份等操作。 1.2待开发软件功能: 通过以上的系统目的分析,根据以上系统所要满足的功能,设计出了图书销售管理系统的重要功能模块图,如图1.1所示。 图书销售管理系统 销售信息模块 供应商信息模块 图书信息模块 客户信息模块 该图书销售管理系统是根据书店的情况结合实际需求而开发的,完全可以帮助书店实现高效、准确的图书销售自动化管理。 2.1 系统重要功能模块设计: 结合前面对系统功能的分析,以及Microsoft Visual Studio 2023开发环境的特点,得到如下图所示的系统功能模块图: 图书销售管理系统 销售信息模块 供应商信息模块 图书信息模块 客户信息模块 图2.1图书销售管理系统重要功能模块图 系统各个模块功能分派如下: (1) 图书信息模块:对图书的各种信息、类别进行录入、管理; (3)供应商信息模块:对供应商供应的各种图书信息进行录入、管理; (4)客户信息模块:对各种信息进行记录、查询; (5)销售信息模块:对销售完的图书进行记录、查询; 2.2 系统解决流程分析: (1) 系统启动,选择登录类型并进行身份验证(账户、密码均为a、a) (2)登录成功后,进入系统主界面; (3)系统初始化,导入数据库; (4)登录成功后可以进行相应的功能选择并进行操作; (5)退出系统。 2.3系统接口设计: 2.3.1外部接口 (1) 界面: 采用GUI图形用户界面,含菜单、图片控件、Button按钮、文本框等元素。 (2) 软件接口: 系统运营于JAVA开发环境下。 (3) 硬件接口: 运营于PC机上。 3.1系统数据库分析: 通过对图书销售管理系统的功能分析我们已知道,图书销售管理系统具有解决图书录入、图书销售、销售记录、查询库存等功能,通过该系统可以帮助用户迅速准确的对已销售图书和剩余库存图书进行记录和销售数据的汇总工作,以此来提高书店的管理效率以及实际操作过程中的准确性。 因此,在该系统的后台就必须得有一个强大的数据库作为其功能的支持。SQL(Structured Query Language)作为一门结构化查询语言,是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。当前,几乎所有关系数据库管理系统软件都支持SQL,而许多的软件厂商也对SQL的基本命令集进行了不同限度的扩充和修改,使用户在对其功能的使用上更加的容易。 所以,在图书销售管理系统的数据库使用上就选择SQL数据库。 部分代码: create table userinfo( usid int primary key, uname varchar2(20), pwd varchar2(20), flag varchar2(10) ) create table books( --图书信息 bid int primary key, --主键 bname varchar2(100), --图书名称 ball int, --总数量 buycount int, --订购数量 buytime varchar2(20), --订购时间 buymoney number, --金额 press varchar2(100), --出版社名称 author varchar2(50) --作者名称 ) select * from books; insert into books values(seq_bid.nextval,'oracle',20,50,'2023-5-6',20.00,'人民出版社','付鹏程'); insert into books values(seq_bid.nextval,'java',13,40,'2023-5-6',30.00,'人民出版社','主线程'); insert into books values(seq_bid.nextval,'c++',44,60,'2023-5-6',40.00,'人民出版社','阿道夫'); insert into books values(seq_bid.nextval,'c',53,70,'2023-5-6',50.00,'人民出版社','许'); insert into books values(seq_bid.nextval,'c#',69,80,'2023-5-6',60.00,'人民出版社','农合工'); commit; select bid as 编号,bname as 书名,ball as 库存,buycount as 订购数量,buytime as 订购时间,buymoney as 单价,press as 出版社,author as 作者 from books where 1=1 create table supplier( --供应商 sid int primary key, --主键 sname varchar2(100), --供应商名字 saddress varchar2(100), --地址 tel varchar2(100), --电话 contact varchar2(100) --联系人 ) select * from supplier; insert into supplier values(seq_sid.nextval,'四色女','湖南','134256','唐先生'); insert into supplier values(seq_sid.nextval,'常凯申','湖南','134256','费先生'); insert into supplier values(seq_sid.nextval,'邹平','湖南','134256','李女士'); commit; create table customer( --客户信息 cid int primary key, --主键 cname varchar2(50), --客户名字 age varchar2(10), --年龄 sex varchar2(10), --性别 booknum number, --累计购书数量 count number --累计购书金额 ) select * from customer; update customer set cname='赵伟波' where cid=2 insert into customer values(seq_cid.nextval,'付鹏程','21','男',1245); insert into customer values(seq_cid.nextval,'jeux','26','女',123); insert into customer values(seq_cid.nextval,'胡胜友','18','男',12357); insert into customer values(seq_cid.nextval,'李清清','24','女',1245); commit; create table sales( --销售信息 saleid int primary key, --主键 saletime varchar2(20), --时间 count int, --数量 price number, --单价 bid int constraint FK_bid references books(bid), cid int constraint FK_cid references customer(cid), sid int constraint FK_sid references supplier(sid) ) select s.saleid as 编号,b.bname as 书名,b.press as 出版社,b.author as 作者,s.count as 销售数量 from sales s,books b where s.bid=b.bid order by count desc; select * from sales; insert into sales values(seq_saleid.nextval,'2023-5-16',134,29,4,1,1); insert into sales values(seq_saleid.nextval,'2023-5-16',14,22,5,2,2); insert into sales values(seq_saleid.nextval,'2023-5-16',89,26,6,3,3); select b.bname as 书名,b.press as 出版社,b.author as 作者,s.saletime as 销售时间,s.count as 销售数量,s.price as 销售单价,ame as 客户名字,su.sname as 供应商 from sales s,books b,customer c,supplier su where s.bid=b.bid and s.cid=c.cid and s.sid=su.sid commit; create sequence seq_usid increment by 1 start with 1; create sequence seq_bid increment by 1 start with 1; create sequence seq_sid increment by 1 start with 1; create sequence seq_cid increment by 1 start with 1; create sequence seq_saleid increment by 1 start with 1; select sid from supplier where sname='邹平' update books set ball=100 图书信息表 字段名 类型 NULL 其他 备注 bname Varchar2(100) 图书名 ball int 图书总数量 buycount int 订购信息 buytime varchar2(20) 订购时间 buymoney number     金额 press varchar2(100) 出版社名称 author varchar2(50) 作者名称 供应商信息表 字段名 类型 NULL 其他 备注 sname Varchar2(100) 供应商名字 saddress Varchar2(100) 地址 tel varchar2(100) 电话 contact varchar2(100) 联系人 客户信息表 字段名 类型 NULL 其他 备注 cname varchar2(50) 客户名称 age varchar2(10) 年龄 sex varchar2(10) 性别 booknum number 累计购书量 count number     累计购金额 销售信息表 字段名 类型 NULL 其他 备注 saletime varchar2(20) 时间 count int 数量 price number     单价 4. 界面设计 1. 登陆界面 2. 主界面 3.图书综合管理界面 4.订购信息界面 5.客户信息管理界面 6.销售信息界面 5、参考文献 1. 《Visual C++ .net 2023程序设计》 何炜等 冶金工业出版社 2. 《数据库系统概论(第三版)》 萨师煊等 高等教育出版社 3. 《Windows用户界面开发》 [美] Everett N. McKay著 北京大学出版社 4. 常州VC编程网 用Visual C++开发数据库应用程序 5. Microsoft MSDN 关于MFC ODBC部分的文档 6、 课程设计总结 本次课程设计是对我们这一学期所学知识的一次总结,也是一次检查,更是我们对自己的一次挑战。通过这次课程设计,我发现自己对SQL的学习还是非常不够的。但我通过自己的努力,独立完毕了这次的设计。从构思到设计,虽然我做得不是很好,但我在自己摸索的过程中学到了很多东西。在系统设计中,我碰到了很多困难,特别是操作过程中碰到很多问题。从开始的无从下手,到慢慢入手,我一步一个脚印从无到有学会了很多。因此,我懂得了,只有不断的实践才是成功的关键。在以后的学习生活中,我一定牢记本次课程设计的经验,努力实践,绝不轻言放弃。不断的提高和完善自己,争取做得更好。 附件 package com.tane.ui; import org.eclipse.swt.widgets.Display; /** * 登陆界面 * @author tane */ public class LoginUi { //外部帮助类的调用 TrayUtil trayUtil=new TrayUtil(); //自身类变量的定义 protected Shell shlBookstore; protected Display display; private Text text_1; private Text text_2; /** * Launch the application. * @param args */ public static void main(String[] args) { try { LoginUi window = new LoginUi(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window. */ public void open() { display = Display.getDefault(); createContents(); shlBookstore.open(); shlBookstore.layout(); while (!shlBookstore.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the window. */ protected void createContents() { shlBookstore = new Shell(SWT.NONE); shlBookstore.setBackgroundMode(SWT.INHERIT_FORCE); shlBookstore.setBackgroundImage(SWTResourceManager.getImage(LoginUi.class, "/com/tane/image/Login.jpg")); shlBookstore.setImage(SWTResourceManager.getImage(LoginUi.class, "/com/tane/image/logo.png")); shlBookstore.setSize(450, 300); shlBookstore.setText("BookStore"); /** * 设立窗口可拖动 */ Listener listener = new Listener() { int startX, startY; public void handleEvent(Event e) { if (e.type == SWT.MouseDown && e.button == 1) { startX = e.x; startY = e.y; } if (e.type == SWT.MouseMove && (e.stateMask & SWT.BUTTON1) != 0) { Point p = shlBookstore.toDisplay(e.x, e.y); p.x -= startX; p.y -= startY; shlBookstore.setLocation(p); } } }; shlBookstore.addListener(SWT.MouseDown, listener); shlBookstore.addListener(SWT.MouseMove, listener); /**设立居中*/ TrayUtil.center(shlBookstore); Group group = new Group(shlBookstore, SWT.NONE); group.setBounds(42, 102, 343, 115); Label label = new Label(group, SWT.NONE); label.setAlignment(SWT.RIGHT); label.setBounds(10, 34, 77, 17); label.setText("\u8D26\u53F7\uFF1A"); Label label_1 = new Label(group, SWT.NONE); label_1.setAlignment(SWT.RIGHT); label_1.setBounds(10, 74, 77, 17); label_1.setText("\u5BC6\u7801\uFF1A"); //账号 text_1 = new Text(group, SWT.BORDER); text_1.setBounds(110, 31, 165, 23); //密码 text_2 = new Text(group, SWT.BORDER | SWT.PASSWORD); text_2.setBounds(110, 71, 165, 23); Button button = new Button(shlBookstore, SWT.NONE); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { //取出账号密码,假如账号密码对的就进入主菜单 String name=text_1.getText(); String password=text_2.getText(); if(name.equals("a")&&password.equals("a")){ MainMenuUi mainMenu=new MainMenuUi(); LoginUi.this.shlBookstore.setVisible(false); mainMenu.open(); }else{ UiUtil.getMessage(shlBookstore, "账号或密码错误!"); } } }); button.setBounds(98, 250, 80, 27); button.setText("\u767B \u5F55"); Button button_1 = new Button(shlBookstore, SWT.NONE); button_1.setBounds(264, 250, 80, 27); button_1.setText("\u6CE8 \u518C"); Label label_2 = new Label(shlBookstore, SWT.NONE); label_2.setForeground(SWTResourceManager.getColor(SWT.COLOR_MAGENTA)); label_2.setFont(SWTResourceManager.getFont("华文行楷", 20, SWT.NORMAL)); label_2.setBounds(100, 56, 233, 29); label_2.setText("\u5C0F\u578B\u4E66\u5E97\u7BA1\u7406\u7CFB\u7EDF"); /**关闭按钮*/ Label label_3 = new Label(shlBookstore, SWT.NONE); label_3.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { //判断是否真的退出,假如拟定,则退出系统,取消的话就返回本来界面 int result=UiUtil.getWarnning(shlBookstore, "拟定退出?"); if(result==32){ //假如返回值为32,表达拟定退出 System.exit(0); }else if(result==256){ //假如返回值为256,表达取消 return; } } }); label_3.setImage(SWTResourceManager.getImage(LoginUi.class, "/com/tane/image/close.png")); label_3.setBounds(425, 5, 16, 16); /**最小化按钮*/ Label label_4 = new Label(shlBookstore, SWT.NONE); label_4.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if(e.stateMask==0){ shlBookstore.setMinimized(true); //shell.setActive(); } } }); label_4.setImage(SWTResourceManager.getImage(LoginUi.class, "/com/tane/image/min.png")); label_4.setBounds(400, 5, 16, 16); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服