VB+ORACL超市收费系统
1. 设计的原始资料及依据
查阅有关数据库原理、数据库设计等资料,进一步熟悉数据库原理基本理论以及数据库设计的基本思想。本设计要求按照数据库设计思想以及设计步骤,设计一个数据库管理系统实用程序,并采用面向对象的数据库前台开发工具开发该系统。通过本设计可以加深理解有关数据库原理基本知识以及设计思想,提高数据库应用程序开发的能力。
2.设计的主要内容及要求
(1)写出系统的需求分析,要求包括数据流图、数据字典等。
(2)画出系统的E-R图。
(3)应用数据库前台开发工具开发该系统。
3.对设计说明书撰写内容、格式、字数的要求
(1)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。
(2)装订格式:
封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、结论、致谢、参考文献。
(3)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
4. 设计完成后应提交成果的种类、数量、质量等方面的要求
(1)每人提交一份课程设计报告。
(2)每人提交一份课程设计成品。
5.时间进度安排
顺序
阶段日期
计 划 完 成 内 容
备注
1
12.31
查阅资料,充分解读题目内容,进行数据库需求分析设计。
2
1.1
数据库概念结构设计,逻辑结构设计。
3
1.2
查阅资料,进行系统功能结构设计,确定各功能模块及模块间接口数据。
4
1.3
数据库物理结构设计。
5
1.4
单元模块设计及调试。
6
1.7
单元模块集成。
7
1.8
单元模块集成。
8
1.9
系统功能测试
9
1.10
成绩评定。
10
1.11
撰写课程设计报告。
6.主要参考资料(文献)
[1]王珊.数据库系统概论.北京:高等教育出版社,2000
[2]张龙祥.数据库原理与设计.北京:人民邮电出版社,2000
[3]李红.数据库原理与应用.北京:高等教育出版社,2002
[4]王能斌.数据库系统原理.北京:电子工业出版社,2002
[5]刘红华.课程设计案例精编.北京:中国水电水利出版社,2006
[6]王华风.VB应用教程.北京:清华大学出版社,北京交通大学出版社,2005
[7]刘佳伟.VB数据库开发实例精粹.电子工业出版社,2005
[5]张伟民.VB信息管理系统开发实例导航[M]人民邮电出版社,2005
[6]孙旭东.VB课程设计案例精编[M]中国水利水电出版社,2005 16
VB+ORACL超市收费系统
摘要
在商业经济及其发达的今天,商业活动日益频繁。而对于超市,其销售的商品种类数量庞大,每天客流量也较大,商品的管理尤其重要。对于经营者来说,必须时刻了解自己的商品库存和商品的供求情况;面对市场的瞬息万变,很多商品的价格可能经常变动,经营者要及时改变商品的价格;在商品经济环境下,经营者要及时了解市场的需求,以及自身的经营状况;经营者还可能开展一些会员服务,对会员实行打折销售。对于消费者,他们要有对商品价格、规格等信息有明确的了解,同时还可能享受会员打折等优惠。这一切的管理,不可能依托于一支笔加上一个帐本,在信息时代的背景下,随着电脑的普及,超市的管理也随之上升到一个高度,超市管理系统变得非常必要。
而在超市中尤其是收银系统更是离不开计算机,本系统主要完成对超市的管理,包括进货管理,收银管理,库存管理和员工管理等四个方面。在整个系统中,用户使用最多的是收银模块,提高收银的处理速度成为提高整个系统速度的关键。操作员的数据录入包括商品编码、商品名称、数量等信息录入.系统还可以完成对各类信息的浏览、查询等功能。系统的核心是销售、库存、供应、存取货管理等之间的联系,每一个表的修改都将联动的影响其它的表,当完成销售、存取货、供应等操作时系统会自动地完成相对应信息的修改。查询功能也是系统的核心之一,在系统中主要根据商品编号进行查询,其目的都是为了方便用户使用,以求更快的查找到各个产品的基本信息。
系统采用ORACLE数据库,并使用VB前台开发工具,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。针对商品管理的业务范围及工作特点,设计了进货管理、销货管理、员工管理和系统更新等功能,这些功能包括了超市收费管理的主要业务,可以全面实现对商品的进货、付款、销货、收款和库存等业务的计算机管理,大大减轻了超市工作人员的工作量,全面提高了商品管理的管理效率以及服务质量,当然,我们编译的只是一个简单的系统,如果应用到实际当中,其实还有很多缺陷,相信在不久的将来,也许我们的愿望会成为现实。关键词 超市收费系统,数据流图,数据字典,概念结构设计,逻辑结构设计,VB
VB+ORACL超市收费系统
目 录
摘要………………………………………………………………………………………………..I
第1章 引言... 1
第2章 需求分析…………………..…………………………………………………………..2
2.1 需求分析的设计思想. 2
2.2 数据流图和数据字典. 3
2.2.1 数据流图. 3
2.2.2 数据字典. 4
2.3 概念结构设计. 8
2.3.1 局部概念模型设计. 8
2.3.2 总体概要设计. 11
2.4 逻辑结构设计. 13
2.4.1 逻辑结构设计思想. 13
2.4.2 E-R图向关系模型的转换. 13
2.4.3 数据库表的结构. 14
第3章 系统分析... 18
3.1 思想. 18
3.2 系统功能分析. 18
第4章 系统设计... 20
4.1 系统模块设计. 20
4.2 组内分工. 21
第5章 系统详细设计…………………………………………………………………………22
5.1 系统设计. 22
5.1.1 VB前台界面设计如下:. 22
5.1.1.1 超市收费系统功能模块. 23
5.1.1.2 商品存取货数据录入. 24
5.1.1.3 销售业绩查询汇总. 27
5.1.2 VB前台界面与数据库的连接. 28
结论... 31
致谢... 32
参考文献... 33
VB+ORACL超市收费系统
第1章 引言
超市收费管理管理系统主要应用于超市收费系统中。在现代化的社会中,超市将发挥越来越重要的作用。超市管理工作已经渗透到超市日常工作的方面,无论是其自身还是所发挥的作用。随着时代的进步,超市也逐渐变得庞大起来,为了超市的创新、发展以及经济效益,如何管理好超市商品的进出,成为管理超市中的一个大的问题。
而对于超市来说收费系统则是超市不可缺少的一部分,它对于超市的领导者以及管理者来说都是至关重要的,所以超市管理系统应该能够为用户提供方便快捷的录入,查询等功能。而使用计算机对品质信息进行管理,具有手工管理所无法比拟的优点,能够极大地提高超市管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。
本系统针超市对商品收费管理业务范围及工作特点,采用现代最为灵活的数据库结构ORACLE与VB前台界面设计了进货管理、销货管理、库存管理和系统时时更新等功能,这这些功能包括了商品管理的主要业务,可以全面实现对商品的进货、付款、销货、收款和库存等业务的计算机管理,大大减轻了商店工作人员的工作量,全面提高了商品管理的管理效率以及服务质量,为经营者提供准确、全面、及时的数据信息,使他们了解自身的经营状况,帮助他们决策;为消费者提供明朗的商品信息,以及诱人的会员服务,让他们得到更好的服务。
第2章 需求分析
2.1 需求分析的设计思想
随着信息的飞速发展,信息化管理已经引入并应用到各行业管理领域,尤其是对于零售业。放眼四周,各种形式的百货商场、大型仓储超市、便利店、连锁超市和专卖店等形式的零售业不断出现、并不断改变、影响着我们的观念和生活方式。而企业若想在激烈的市场经济中立足并胜出,就必须拥有一套完善的并适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。那么就必须要有一个优秀的超市管理管理系统软件的支持。
建立一套功能完善的管理系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,从而加快超市资金的流通减少库存的积压,提高经济效益。为超市甚至整个人类社会发展提供重要保证。
本系统为《超市收费管理系统》,既然称为一个超市管理系统,就少不了职员,商品,供应商,仓库,顾客等主要组成部分。员工销售商品,顾客购买商品,供应商提供商品,仓库存放商品。由于超市中的职员可以分为管理人员与基层人员,所以,我们将职员分为员工和领导,领导带领员工。他们之间的联系如下:
商品与顾客是多对多的购买关系,即一种商品可以由多个顾客购买,一名顾客可以购买多种商品。
商品与供应商是多对多的供应关系,即一种商品可以由多个供应商供应,一个供应商可以供应多种商品。
商品与仓库是一对一的存放关系,即一种商品只可以存放在一个仓库中,一个仓库只存放一种商品。
商品与员工之间是多对多的销售关系,即一种商品可以由多个员工销售,一个员工可以销售多种商品。
员工与仓库之间是多对多的存取货关系,即一名员工可以到多个仓库存取货,一个仓库可以允许多名员工存取货。
员工与领导之间是多对一的带领关系,即一个领导可以带颔多名员工,一个员工只能归一个领导管。
领导与仓库之间是一对一的管理关系,即一个领导只能管理一个仓库,一个仓库只能归一个领导管。
当顾客购买商品时,就会有购买日期和购买数量的属性。并且如果该顾客是会员的话,还会有折扣的属性。如发现货物有损坏或质量问题,则出现了换货和退货属性,同时出现退换货的日期。
当员工销售商品时,就会有销售总额的属性。
当供应商供应商品时,就会有供应日期,供应数量,汇款方式和汇款人的属性。
当商品存放到仓库时,就会有库存量属性的产生。
2.2 数据流图和数据字典
2.2.1 数据流图
数据流图(Data Flow Diagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。数据流图是结构系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。
在数据流图中有四种基本符号,如表2-1所示。
表2-1 数据流图基本符号的意义
符号
说明
加工,输入数据在此进行变换产生输出数据,中间要注明加工的名字
数据输入的源点和数据输出的终点,在其中要注明源泉点或终点的名字
数据流,被加工的数据及数据流向,在箭头边要用名词或名词性短语给出数据流的名字
数据存储文件,要用名词或名词性短语给出数据文件的名字
若图片无法显示请联系QQ3710167
超市管理数据流图如图2.1所示。
图2.1 超市管理数据流图
2.2.2 数据字典
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
一、数据项
(1)顾客信息表
顾客信息表=1{编号+姓名+会员卡号+地址+电话}142
顾客编号=1{字符}6 注:顾客唯一标识符
顾客姓名=7{字符}16
会员卡号=17{字符}24
顾客地址=25{字符}124
顾客电话=“000000000000000001”..“999999999999999999”
(2)员工信息表
员工信息表=1{编号+姓名+身份证号+电话+地址+职称}122
员工编号=1{字符}6 注:员工唯一标识符
员工姓名=7{字符}16
员工身份证号=“000000000000000001”..“999999999999999999”
员工电话=“000000000000000001”..“999999999999999999”
员工地址=53{字符}102
员工职称=103{字符}122
(3)供应商信息表
供应信息表=1{供应商编号+供应商名称+供应商地址+供应商电话}104
供应商编号=1{字符}6 注:供应商唯一标识符
供应商名称=7{字符}36
供应商地址=37{字符}86
供应商电话=“000000000000000001”..“999999999999999999”
(4)商品信息表
商品信息表=1{商品编号+商品名称+规格+型号+单价}150
商品编号=1{字符}12 注:商品唯一标识符
商品名称=13{字符}62
规格=63{字符}102
型号=103{字符}142
单价=“0.001”..“99999.999”
(5)仓库信息表
仓库信息表=1{仓库编号+仓库地址+仓库电话+仓库面积}90
仓库编号=1{字符}6 注:仓库唯一标识符
仓库地址=7{字符}56
仓库电话=“000000000000000001”..“999999999999999999”
仓库面积=75{字符}89
(6)领导信息表
领导信息表=1{领导编号+领导姓名+管理部门+领导电话}31
领导编号=1{字符}6 注:领导唯一标识符
领导姓名=7{字符}14
领导部门=15{字符}24
领导电话=“000000000000000001”..“999999999999999999”
VB+ORACL超市收费系统
二、数据结构
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。本系统中对数据结构的具体描述如下:
1.数据结构:顾客
含义说明:定义了顾客的有关信息
组成:编号,姓名,会员卡号,地址,电话。
2.数据结构:员工
含义说明:是客户管理系统的主体数据结构,定义了客户的有关信息
组成:编号,姓名,身份证号,电话,地址,职称
3.数据结构:供应商
含义说明:是客户管理系统中合作信息的数据结构,定义了合作的有关信息
组成:合作信息编号、客户ID、合作日期、满意度、备注。
4.数据结构:商品
含义说明:定义了提醒类型的有关信息
组成:供应商编号,供应商名称,供应商地址,供应商电话。
5.数据结构:仓库
含义说明:是客户管理系统中提醒的有关信息
组成:仓库编号,仓库地址,仓库电话,仓库面积。
5.数据结构:领导
含义说明:是客户管理系统中提醒的有关信息
组成:领导编号,领导姓名,管理部门,领导电话
三、数据流
数据流是数据结构在系统内传输的路径。本系统中对数据流的具体描述如下:
1. 数据流“购买”可描述如下:
数据流:购买
说明:对顾客购买商品所作记录。
数据流来源:商品
数据流去向:顾客信息
2.数据流“供应”可描述如下:
数据流:供应
说明:记录商品来源。
数据流来源:供应商
数据流去向:商品信息
3.数据流“存放”可描述如下:
数据流:存放
说明:描述商品与仓库之间的关系。
数据流来源:商品
数据流去向:仓库信息
4.数据流“存取货”可描述如下:
数据流:存取货
说明:员工向仓库办理存货或取货业务。
数据流来源:员工
数据流去向:仓库信息
5.数据流“销售”可描述如下:
数据流:销售
说明:员工对商品的销售操作。
数据流来源:商品
数据去向:销售信息
6.数据流“带领”可描述如下:
数据流:带领
说明:描述领导与员工之间的关系。
数据流来源:领导
数据流去向:带领信息
四、数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以手工文档或手工凭单,也可以是计算机文档。本系统中对数据存储的具体描述如下:
1.顾客信息
简述:用来存储顾客类型信息
输入数据:顾客信息
输出数据:顾客信息
2.员工信息
简述:用来存储员工的基本信息。
输入数据:员工编号及其所对应的员工基本信息
输出数据:员工信息。
3.供应商信息
简述:存储供应商的基本信息
输入数据:供应商信息
输出数据:供应商信息
4.商品信息
简述:用来存储商品的基本信息
输入数据:商品编号及商品的基本信息 。
输出数据:商品信息
5.仓库信息
简述:用来存储仓库信息的基本内容
输入数据:仓库信息编号及基本信息
输出数据:仓库信息
6.领导信息
简述:用来存储领导的基本信息
输入数据:领导信息
输出数据:领导信息
2.3 概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。
设计概念结构通常有四类方法
(1) 自顶向下。即首先定义全局概念结构的框架,然后逐步细化。
(2) 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。
(3) 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方
式逐步生成其他概念结构,直至总体概念结构。
(4) 混合策略即将自顶向下和自底向上相结合,用自顶向下策略高干 个全局概念结构的框架,以它为骨架集成由自底向下策略中设计的各局部概念结构。
其中最常用的策略是自底向上方法即自顶向下的进行需求分析,然后再自底向上地设计概念结构。
2.3.1 局部概念模型设计
局部概念模型的设计思想是根据需求分析的内容用E-R图分别表示出各个实体及其
属性,以及各实体之间的联系。图 2.2-2.7为实体及其属性图,图2.8-2.13为各个实体与实体之间的联系图。若图片无法显示请联系QQ3710167
图2.2 顾客信息实体属性图若图片无法显示请联系QQ3710167
图2.3 仓库信息实体属性图图2.4 商品信息实体属性图若图片无法显示请联系QQ3710167
图2.5 供应信息实体属性图图2.6 领导信息实体属性图若图片无法显示请联系QQ3710167
图2.7 员工信息实体属性图若图片无法显示请联系QQ3710167
实体与实体之间的联系如图2.8-2.13所示。
图2.8 顾客实体与商品实体之间的联系
若图片无法显示请联系QQ3710167
图2.9 商品实体与供应商实体之间的联系若图片无法显示请联系QQ3710167
图2.10 商品实体与仓库实体之间的联系
图2.11 商品实体与供应商实体之间的联系若图片无法显示请联系QQ3710167
图 2.12 员工实体与仓库实体之间的联系若图片无法显示请联系QQ3710167
图 2.13 领导实体与员工实体之间的联系
VB+ORACL超市收费系统
2.3.2 总体概要设计
各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个总的E-R图。由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。各E-R图之间的冲突主要有三种:属性冲突、命名冲突、结构冲突。
在超市收费管理系统设计过程中,有属性冲突和结构冲突。属性域冲突,即属性值的类型、取值范围或取值集合不同。如员工编号在不同的关系中都要定义成相同的属性值的类型为字符型并且字长相等,才能避免属性冲突。
按照合成总体E-R图的规则,画出完整的E-R图,如图2.14所示。
若图片无法显示请联系QQ3710167
图2.14 超市销售管理的总体E-R图
逻辑结构设计
2.4.1 逻辑结构设计思想
概念结构设计是独立于任何一种数据模型的信息结构。逻辑结构设计是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。所以逻辑结构设计一般分以下三个方面:
(1) 将概念结构转换为一般的关系、网状、层次模型。
(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。
(3) 对数据模型进行优化。
针对超市收费管理系统 ,逻辑结构设计采用概念结构转换关系模型,将E-R图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,确定是否要对某些模式进行合并或分解,为物理设计提供最优的处理。
2.4.2 E-R图向关系模型的转换
E-R图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模型,如何确定这些关系模式的属性和码。
关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的发生和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则:
(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属
性中加入另一个关系模式的码和联系本身的属性。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(4)一个n:m联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。
(5)三个或三个以上实体间的一个多无联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。
通过上述转换原则,可以将E-R图转换为关系模型,转换结果如下:
顾客(顾客编号,顾客姓名,会员卡号,顾客地址,顾客电话)
此为顾客实体对应的关系模型。根据转换原则(1):一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
商品(商品编号,商品名称,规格,单价)
此为商品实体对应的关系模型。根据转换原则(1):一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
供应商(供应商编号,供应商姓名,供应商地址,供应商电话)
此为供应商实体对应的关系模型。根据转换原则(1):一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
员工(员工编号,员工姓名,员工电话,员工地址,职称)
此为员工实体对应墓叵的P汀8葑辉?1):一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
仓库(仓库编号,仓库地址,仓库电话,仓库面积,仓库负责人)
此为仓库实体对应的关系模型。根据转换原则(1):一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
购买(顾客编号,商品编号,顾客姓名,会员卡号,顾客地址,顾客电话,商品名称,规格,单价,购买日期,购买数量,换货日期,换货数量,退货日期,退货数量,折扣)
此为联系“购买”所对应的关系模式。根据转换原则(4):一个n:m联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而
关系的码为各实体码的组合。
供应(商品编号,供应商编号,商品名称,规格,单价,供应商姓名,供应商地址,供应商电话,供应日期,供应数量,汇款方式,汇款人)
此为联系“供应”所对应的关系模式。根据转换原则(4):一个n:m联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。
销售(商品编号,员工编号,商品名称,规格,单价,员工姓名,员工电话,员工地址,职称,销售总额,销售数量)
此为联系“销售”所对应的关系模式。根据转换原则(4):一个n:m联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而
关系的码为各实体码的组合。
存放(商品编号,仓库编号,商品名称,规格,单价,仓库地址,仓库电话,仓库面积,仓库负责人,库存量)
此为联系“存放”所对应的关系模式。根据转换原则(4):一个n:m联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。
2.4.3 数据库表的结构
根据数据库需求分析,系统一共需要11张表。这11张表的结构定义如下表所示。
(1) 供应商表
用来存放供应商的信息,包括:供应商编号,供应商姓名,供应商电话,如表2.2所示。
表2.2供应商表
列名
数据类型
主键
必填字段
备注
供应商编号
字符
是
是
供应商姓名
字符
否
是
供应商电话
字符
否
否
(2) 购买表
用来存放购买商品的基本信息:顾客编号,商品编号,购买日期,购买数量,折扣,退货数量,退货日期,换货数量,换货日期,如表2.3所示。
表2.3 购买表
列名
数据类型
主键
必填字段
备注
顾客编号
字符
是
是
外键
商品编号
字符
是
是
外键
购买日期
日期
否
否
购买数量
数字
否
否
折扣
浮点
否
否
退货数量
数字
否
否
退货日期
日期
否
否
换货数量
数字
否
否
换货日期
日期
否
否
(3) 供应表
用来存放商品供应商供应商品的信息:商品编号,供应商编号,供应日期,供应数量,汇款方式,汇款人,如表2.4所示。
表2.4 供应表
列名
数据类型
主键
必填字段
备注
商品编号
字符
是
是
外键
供应商编号
字符
是
是
外键
供应日期
日期
否
否
供应数量
数字
否
是
汇款方式
字符
否
否
汇款人
字符
否
否
(4) 仓库表
用来存放商品存放于仓库的基本信息包括:仓库编号,仓库地址,仓库电话,仓库面积,如表2.5所示。
表2.5 仓库表
列名
数据类型
主键
必填字段
备注
仓库编号
字符
是
是
仓库地质
字符
否
否
仓库电话
字符
否
否
仓库面积
数字
否
否
负责人
字符
否
否
(5) 商品表
用来存放商品信息包括:商品编号,商品名称,单价,单位,数量,如表2.6所示。
表2.6 商品表
列名
数据类型
主键
必填字段
备注
商品编号
字符
是
是
商品名称
字符
否
是
单价
数字
否
是
单位
字符
否
是
数量
数字
否
是
(6) 存放表
用来存放仓库存放商品的信息,包括:仓库编号,商品编号,库存量,如表2.7所示。
表2.7存放表
列名
数据类型
主键
必填字段
备注
商品编号
字符
是
是
外键
仓库编号
字符
是
是
外键
库存量
字符
否
否
(7) 销售表
用来存放员工销售商品的信息,包括:员工编号,商品编号,销售总额,销售数量,如表2.8所示。
表2.8销售表
列名
数据类型
主键
必填字段
备注
员工编号
字符
是
是
外键
商品编号
字符
是
是
外键
销售总额
数字
否
否
销售数量
数字
否
否
(8) 存取货表
用来存放员工存取货的信息,包括:员工编号,仓库编号,存货数量,存货日期,取货数量,取货日期,如表2.9所示。
VB+ORACL超市收费系统
表2.9存取货表
列名
数据类型
主键
必填字段
备注
供应商编号
字符
是
是
供应商姓名
字符
否
是
供应商电话
字符
否
否
(9) 员工表
用来存放员工的基本信息,包括:员工编号,员工姓名,员工电话,员工地址,如表2.10所示。
表2.10员工表
列名
数据类型
主键
必填字段
备注
员工编号
字符
是
是
员工姓名
字符
否
是
员工电话
字符
否
是
员工地址
字符
否
是
(10) 领导表
用来存放领导的信息,包括:姓名,仓库编号,电话,负责部门,如表2.11所示。
表2.11领导表
列名
数据类型
主键
必填字段
备注
姓名
字符
是
是
仓库编号
字符
否
是
外键
电话
字符
否
否
负责部门
字符
否
是
(11) 顾客表
用来存放顾客的信息,包括:顾客编号,顾客姓名,会员卡号,顾客地址,顾客电话,如表2.12所示。
表2.12顾客表
列名
数据类型
主键
必填字段
备注
顾客编号
字符
是
是
顾客姓名
字符
否
否
会员卡号
字符
否
否
顾客地址
字符
否
否
顾客电话
数字
否
否
第3章 系统分析
3.1 思想
在现代化的社会中,超市将发挥越来越重要的作用。超市管理工作已经渗透到超市日常工作的方面,无论是其自身还是所发挥的作用。随着时代的进步,超市也逐渐变得庞大起来,为了超市的创新、发展以及经济效益,如何管理好超市商品的进出,成为管理超市中的一个大的问题。
最初的商品管理,都是靠个人来完成的。当规模比较小的时候,个人可以完成,随着超市的规模越来越大,超市经营的商品越来越多,依然维持着个人进行商品管理,必然会造成工作效率低,工作错误增高的问题。
为了实现企业的信息化建设,与人员的分工明确。开发本系统,实现了从供应商到顾客的一条龙管理,使领导与员工任务明确,各负其责,逐层上报的原则,使每一道程序都有专人看管,并且解决了超市工作人员工作强度大的问题。
超市收费管理系统主要是实现超市收银管理的稳定性、易操作性、可维护性、和安全性从而达到提高收银管理效率的目的。为了实现企业的信息化建设,与人员的分工明确。开发本系统,实现了从供应商到顾客的一条龙管理,使领导与员工任务明确,各负其责,逐层上报的原则,使每一道程序都有专人看管,并且解决了超市工作人员工作强度大的问题。
3.2 系统功能分析
(1)供应
首先超市向厂商开出订单;厂商收到订单后,按订单发货,同时给超市发出发货单;超市收到货物及发货单,根据发货单清点的实物数开出产品入库单,并把货物入库。
(2) 存取货
超市销售单位向超市开出进货单,超市再根据进货单及货物的实物数量开除出货单,再根据出货单将货物出库,并发给进货单。进货单收到货物后,将货物入库。
(3) 销售
将货物给客户时,要开除出后售获小票,上面应纪录在收获的名称、数量和金额等信息;然后,货物出库,交给客户。下
(4) 退货
客户将要退的货还给超市,超市清点货物后根据十五数量开出退货单;然后将货物入库。
(5)交接班结转清
在超市中收银员实施换班制度,交接班结转清系统则相当重要。在本系统中主要完成员工交接班报表功能,员工下班时输入工作时间,销售数据等信息,以便月终汇总。
(6)商品库存数据查询
主要完成商品库存数据查询功能。
(7)商品购买数据单
在超市收银系统中,消费者在消费后超市手银台都会打出消费小票,当顾客想退货时也可打出退货清单,以便顾客查看以及超市月终汇总方便。
VB+ORACL超市收费系统
第4章 系统设计
4.1 系统模块设计
在现代化的社会中,超市将发挥越来越重要的作用。超市管理工作已经渗透到超市日常工作的方面,无论是其自身还是所发挥的作用。随着时代的进步,超市也逐渐变得庞大起来,为了超市的创新、发展以及经济效益,如何管理好超市商品的进出,成为管理超市中的一个大的问题。
最初的商品管理,都是靠个人来完成的。当规模比较小的时候,个人可以完成,随着超市的规模越来越大,超市经营的商品越来越多,依然维持着个人进行商品管理,必然会造成工作效率低,工作错误增高的问题。
为了实现企业的信息化建设,与人员的分工明确。开发本系统,实现了从供应商到顾客的一条龙管理,使领导与员工任务明确,各负其责,逐层上报的原则,使每一道程序都有专人看管,并且解决了超市工作人员工作强度大的问题。
根据上面分析出来的超市收费系统功能模块图如图4.1所示。系统包括四大模块:供应模块,存取货模块,销售模块,退货模块。若图片无法显示请联系QQ3710167
图4.1 系统的功能模块
4.2 组内分工(如表4.2)
表4.2 组内分工表
姓名
任务
张
总体设计,数据库建表,VB前台界面设计,VB前台界面与数据库连接,报告整理
商品存取数据录入,销售业绩查询汇总,报告整理,商品库存数据查询
陈虎
需求分析,总体设计,E-R图绘制,E-R图向关系模式的转换,数据库建表,报告整理,商品购买数据单,交接班结转清, 数据库表的数据录入
VB+ORACL超市收费系统
第5章 系统详细设计
5.1 系统设计
整个系统开发包括两个部分:一部分是数据库设计,另一部分是VB前台界面。其中实现的功能有六大功:商品存取数据录入、商品库存数据查询、销售数据录入、商品购买数据单、交接班结转清、销售业绩查询汇总。
在现代化的社会中,超市将发挥越来越重要的作用。超市管理工作已经渗透到超市日常工作的方面,无论是其自身还是所发挥的作用。随着时代的进步,超市也逐渐变得庞大起来,为了超市的创新、发展以及经济效益,如何管理好超市商品的进出,成为管理超市中的一个大的问题。
为了实现企业的信息化建设,与人员的分工明确。开发本系统,实现了从供应商到顾客的一条龙管理,使领导与员工任务明确,各负其责,逐层上报的原则,使每一道程序都有专人看管,并且解决了超市工作人员工作强度大的问题。
5.1.1 VB前台界面设计如下:
在此之前先介绍一下登录界面的设计,用户登录系统后点击进入进入系统,点击退出则系统退出.界面如图5.1所示。
若图片无法显示请联系QQ3710167
图5.1 系统登录图
代码如下所示:
Private Sub Command1_Click()
Dim a As New Form2 定义下一界面为a
a.Show 显示下一界面
End Sub
Private Sub Command2_Click()
End 界面退出
End Sub
5.1.1.1 超市收费系统功能模块
在该模块中主要对系统中的主要功能选择,功能如图5.2所示。
商品存商品购买数据单
商品存取货数据录入
若图片无法显示请联系QQ3710167
销售业绩查询汇总
超市收费系统
商品库存数据查询
交接班结转清
图5.2超市收费系统
超市收费系统功能模块图如图5.3所示。
若图片无法显示请联系QQ3710167
图5.3 超市收费系统功能模块图
当用户进入系统以后,可以看到想选择使用的功能,进入其中可进行显示录入查询功能,并把结果保存到数据库中的相关表中。
部分代码如下:
Private Sub Command1_Click()
Dim B As New Form3
B.Show
End Sub
Private Sub Command2_Click()
Dim E As New Form5
E.Show
End Sub
Private Sub Command4_Click()
Dim F As New Form6
F.Show
End Sub
Private Sub Command5_Click()
Dim D As New Form4
D.Show
End Sub
Private Sub Command6_Click()
Dim G As New Form7
G.Show
End Sub
Private Sub Command7_Click()
Dim X As New Form1
X.Show
说明:在此界面代码主要是点击按钮进入其他界面.
5.1.1.2 商品存取货数据录入
(1)在文本框中分别添加相应的数据,单击“添加”按钮如图5.4所示,完成添加信息任务。
当想要查询某些信息时,在相应文本框中输入数据,点击查询则在界面显示所查询的信息。
若图片无法显示请联系QQ3710167
图5.4商品存取货数据录入模块图
(3)部分代码如下:
(3)部分代码如下:
Private Sub Command1_Click()
Textbox1.Text = ""
Textbox2.Text = ""
Textbox3.Text = ""
Textbox4.Text = ""
Textbox5.Text = ""
Textbox6.Text = ""
Textbox1.focus
End Sub
说明:以上代码实现数据清空功能
Private Sub Command2_Click()
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "员工编号='" + Trim(Text1.Text) + "'"
Else
str = str + "and员工编号='" + Trim(Text1.Text) + "'"
End If
End If
If Trim(Text2.Text) <> "" Then
If str = "" Then
str = "仓库编号='" + Trim(Text2.Text) + "'"
Else
str = str + "and仓库编号='" + Trim(Text2.Text) + "'"
End If
End If
If Trim(Text3.Text) <> "" Then
If str = "" Then
str = "取货数量='" + Trim(Text3.Text) + "'"
Else
str = str + "and取货数量='" + Trim(Text3.Text) + "'"
End If
End If
If Trim(Text4.Text) <> "" Then
If str = "" Then
str = "存货数量='" + Trim(Text4.Text) + "'"
Else
str = str + "and存货数量='" + Trim(Text4.Text) + "'"
End If
End If
VB+ORACL超市收费系统
If Trim(Text5.Text) <> "" Then
If str = "" Then
str = "存货日期='" + Format(Trim(Text2.Text), "yyyy.mm.dd") + "'"
Else
str = str + "and存货日期'" + Format(Trim(Text2.Text), "yyyy.mm.dd") + "'"
End If
End If
If Trim(Text6.Text) <> "" Then
If str = "" Then
str = "取货日期='" + Format(Trim(Text2.Text), "yyyy.mm.dd") + "'"
Else
str = str + "and取货日期'" + Format(Trim(Text2.Text), "yyyy.mm.dd") + "'"
End If
End If
If str <> "" Then
str = "select * from khb where" + str
DataGrid1.RecordSource = str
DataGrid1.Refresh
Else
DataGrid1.RecordSource = "select * from存取货表"
DataGrid.Refresh
End If
End Sub
Dim i As Integer
On Error GoTo adderror
If cmdadd.Caption = "添加" Then
cmdadd.Caption = "确定"
cmdadd.enableg = False
cmdcancel.Enabled = True
End Sub
说明:以上代码实现数据库数据与文本框连接,并实现数据添加功能
Private Sub Command3_Click()
Dim Y As New Form2
Y.Show
End Sub
说明:此段代码实现返回返回到超市收费系统功能界面的功能。
Private Sub Command4_Click()
Dim str As String
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "员工编号 ='" + Trim(Text1.Text) + "'"
End If
End If
If str <> "" Then
str = "select * from 存取货表 where " + Trim(str)
Adodc1.RecordSource = str
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from 存取货表"
Adodc1.Refresh
End If
End Sub
说明:以上代码实现数据查询功能,可依据输入的员工编号进行查询。
(4)若您所添加的数据有误,则点击“重置”按钮,重新添加数据。
(5) 若想返回重新选择其他模块则点击“返回” 按钮,返回到超市收费系统功能界面。
5.1.1.3 销售业绩查询汇总
(1)本系统主要完成销售业绩信息查询功能,在Combo1文本框的下拉菜单中选择“查询所需要的依据项”,点击“查询”按钮进行查询。如图 5.5所示。
若图片无法显示请联系QQ3710167
图5.5销售业绩查询汇总模块图
(2)部分代码如下:
Private Sub Command3_Click()
Dim strcon1 As String
On Error GoTo myerr
End If
Select Case Trim(Combo1.Text)
Case "员工编号"
strcon1 = "员工编号"
Case "商品编号"
strcon1 = "商品编号"
Case "销售数量"
strcon1 = "销售数量"
Case "销售日期"
strcon1 = "销售日期"
End Select
dataenv.rj05101.Open "select * from 销售表 where " & strcon1 & " "
dgdcx.DataMember = ""
dgdcx.Refresh
dataenv.rj05101.Requery
dgdcx.DataMember = "销售表"
dgdcx.Refresh
myerr
End Sub
说明:以上程序为查询功能,根据下拉菜单中的选项分情况查询。
Private Sub Command4_Click()
Dim Y As New Form2
Y.Show
说明:跳转页面,点击按钮进入下一页。
End Sub
Private Sub Form_Load()
Combo1.AddItem ("员工编号")
Combo1.AddItem ("商品编号")
Combo1.AddItem ("销售数量")
Combo1.AddItem ("销售日期")
Combo1.ListIndex = 0
End Sub
说明:设置下拉菜单选项。
(3)当想要返回上级菜单时,点击“返回”按钮,返回到超市收费系统功能界面。
5.1.2 VB前台界面与数据库的连接
在此VB界面与数据库连接仅以此为例。
(1)在VB设计界面点击菜单栏的“工程”按钮,选择部件并选中相应的选项,点击确定。如图 5.6所示。
VB+ORACL超市收费系统
图 5.6 数据库连接
(2)在工具栏选择Adodc1部件,点击右健选择ADODC属性,如图5.7所示。
图5.7 ADODC属性
(3)在通用菜单下选“新建”“用户名”,选择安装的数据源驱动程序点击至完成,如图 5.8 所示。在“记录源”界面下选择自己所建表名称。如图 5.9 所示。
若图片无法显示请联系QQ3710167
图 5.8数据源驱动程序
若图片无法显示请联系QQ3710167
图 5.9记录源
(4)选择DataGrid1部件并将其DATASOURCE属性选Adodc1,则VB前台界面与数据库连接完成,如图 5.10 所示。
若图片无法显示请联系QQ3710167
图 5.10DataGrid1部件属性设置
结论
总的来说这次的数据库课程设计对我们学习数据库是非常有用的。在这次的课设中我把以前学过的知识运用在了实际操作上,使我真正懂得了怎么去运用它。通过课程设计使我进一步掌握数据库设计的有关知识,提高了用数据库的能力,加深了对它的相关知识的理解。通过自己去查阅资料、阅读程序及动手编制E-R提高了我的设计能力,使我在数据设计上有一定飞跃,能用数据库来解决一些实际问题。在紧张而充满学习气氛的环境中我度过了课程设计的这几天,我发现了自己在学习数据库中的一些漏洞,在同学们的讨论中也学到了自己不会的知识。
回顾起此次数据库课程设计,至今我仍感慨颇多,通过这次课程设计,我更加熟练的掌握了使用数据库与VB前台界面联接与开发的技术,加深了对数据库课程知识的理解。我们的《超市收费系统》提到开发管理系统所用的方法中都把系统规划和系统分析放在最为重要的位置。如果在开发前对整个开发工作做出全方位的规模化系统分析,开发过程就是事半功倍,否则就会遇到许多意想不到的问题,延缓开发进度。
在这段时间里,我有了很多感受,多人分工合作注重的是组员之间得合作交流与沟通,对知识更是一个加深,从对某些知识的一知半解,到查看大量的相关资料和书籍,让自己头脑中模糊的概念逐渐清晰.通过这次课程设计使我懂得了如何将我们的系统知识串成串,按照我们的思想,运用知识去解决它,我们将得到很大的收获。但不免还有一些不足之处,如:交接班结转清系统部分不够完善,数据录入模块的联接还很不成熟,软件代码交冗余、效率不高等等,都是对VB操作不熟练,对相关功能缺乏认识造成的。在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。
从总体上来说,这次的课程设计对我们来说是非常难得的一次锻炼的机会。正像辅导教师说的那样,课程设计使得我们对开学以来所学的专业知识有了更深刻的认识,使知识得到了融会贯通。对于我们来说这不仅仅是一次课程设计,不仅仅是学会了一种开发工具,更重要的是在学习的过程中,有些问题要一个人面对,有的问题要想尽各种办法解决,克服困难,在解决这些困难的过程中提高了我们的学习能力、解决问题的能力和实际工作能力。
致谢
本次课程设计的选题,研究及论文的撰写均是在我们的指导教师孙老师和关老师的悉心指导下进行的。设计中的每一个环节无不凝聚着孙老师和关老师的心血。老师在数据库设计方面有很多的实践经验,在我们面对问题时对我们的悉心指导及其严谨的工作态度锐意创新的精神,使我们受益匪浅,在此特别向孙老师和关老师表示深深的感谢和由衷的敬意。
在系统的完善过程中,我们也遇到了这样或那样的技术问题,但经过自己的不懈努力及查阅大量的资料,最终还是完成了这次任务,虽然结果与老师的预期有一定的距离,但我们都尽了最大的努力.实训期间,同学们也给了我许多有益的启示和帮助,使我能够顺利完成.
在论文的最后,我要再次感谢孙老师,她是我们的授课教师,同时也是我们实训的指导老师.在上课时, 她会细心地为我们讲解课上知识,下课时,也会不遗余力地为我们解答疑难问题.在本次课程设计时她也非常的细心,每次有什么问题, 她都会细心地讲解与示范,直到我们明白为止.在这里,对您衷心地表示感谢孙老师和关老师的帮助,同学的帮助都是我在未来的最大财富.在最后,我要再次感谢给予我帮助的老师同学们.祝你们今后事事顺心.
特别感谢孙老师和关老师一直以来对我们的关怀与教导,再次祝您工作顺利,事事如意。
参考文献
[1]王珊.数据库系统概论.北京:高等教育出版社,2000
[2]张龙祥.数据库原理与设计.北京:人民邮电出版社,2000
[3]李红.数据库原理与应用.北京:高等教育出版社,2002
[4]王能斌.数据库系统原理.北京:电子工业出版社,2002
[5]课程设计案例精编.北京:中国水电水利出版社,2006
[6]VB应用教程.北京:清华大学出版社,北京交通大学出版社,2005
[7]VB数据库开发实例精粹.电子工业出版社,2005
[5]VB信息管理系统开发实例导航[M]人民邮电出版社,2