数据库课程设计图书销售管理系统.doc
《数据库课程设计图书销售管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计图书销售管理系统.doc(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); } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 图书 销售 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文