最新数据库超市收银系统课程设计.docx
《最新数据库超市收银系统课程设计.docx》由会员分享,可在线阅读,更多相关《最新数据库超市收银系统课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
最新数据库超市收银系统课程设计
数据库-超市收银系统课程设计
小型超市收银系统
1.课程设计目的
应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库小型超市收银系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。
2.设计方案论证
2.1问题提出
以往人工收银准确性小,速度慢,而且事情繁琐的情况已经满足不了如今社会的发展。
本次数据库课程设计就是利用SQLServer设计出一个小型超市的收银系统来解决以往人工收银的繁琐。
它提供了商品的名称、编号、价格等一系列的产品信息,很大的提高了超市收银的效率。
2.2可行性研究
2.2.1技术可行性
此课程设计均是利用SQLserver2005企业版软件调试出来的,所以只要操作系统在windowsXP之上的都可以实现SQLserver2005运行,此次所用的操作系统是:
WindowsXP,内存:
2G,CPU:
2.10GHZ,硬盘:
250G,所以技术上是可行的。
2.2.2运行可行性
随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。
当然几乎所有公司和企业也都已经在使用计算机管理数据的机制,大大减少了商品管理的工作量。
该课程设计要求设计一个商品管理的数据库系统,数据库中要求包含商品的基本信息,商品管理员信息,商品供应商信息,商品销售商信息以及商品库存的信息。
同时还要设计它们之间的关系,如商品和商品的库存量的信息等,最后还要对一些数据进行查询,如查询商品的各种有关信息等。
我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
商品管理系统主要针对于日常商品信息的管理,它针对商品日常发生的业务,分为了两大类,即商品提供商和商品销售商以及入库和出库的信息,用户通过相应的模块,对商品的基本情况进行操作,对商品库存数量进行查询,用户通过简单的操作即可轻松的管理商品。
2.3需求分析
2.3.1需求分析
查询功能。
商品管理对查询要求高,通过主菜单记录当前操作用户的工作证号,保证了对进、出库商品信息录入管理员的确认。
管理员信息与库存报表生成。
管理员包括了管理员工作证号,所管理的仓库号,以及仓库中所存的商品号。
报表主要分类为:
仓库报表,商品报表,销售商报表,销售商报表和管理员报表等。
应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
2.3.2数据字典
收银管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。
在定义的商品数据库管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。
(1)名称:
商品定价
描述:
唯一标识每种商品的价格
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(2)名字:
积分卡信息
描述:
顾客拥有的积分卡里的信息
类型:
字符型
长度:
50
(3)名字:
折扣规则
描述:
根据顾客积分进行商品价格折扣的规则
类型:
字符型
长度:
50
(4)名字:
积分累积规则
描述:
由经理确定的顾客每次消费产生的积分的规则
类型:
字符型
长度:
50
位置:
积分卡规则
(5)名字:
登陆信息
描述:
职工登陆时使用的账号和密码
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(6)名字:
姓名
描述:
超市员工姓名
类型:
字符型
长度:
50
逻辑关系:
不允许为空
(7)名字:
联系电话
描述:
超市员工电话
类型:
字符型
长度:
50
逻辑结构:
允许为空
(8)名字:
性别
描述:
超市员工的性别
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(9)名字:
库存数量
描述:
商品在仓库中的剩余数量
类型:
数值型
长度:
随机
逻辑结构:
不允许为空
(10)名字:
进价
描述:
商品从供货商买进时的价格
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(11)名字:
生产商
描述:
商品生产的厂商
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(12)名字:
备注
描述:
供货的备注项
类型:
字符型
长度:
随机
逻辑结构:
允许为空
(13)名字:
流水号
描述:
每次交易的账号
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(14)名字:
销售记录表
描述:
收银员扫描商品后,系统自动生成的销售记录表
类型:
字符型
长度:
随机
逻辑结构:
不允许为空
(15)名字:
库存记录表
描述:
扫描过的商品,系统会自动删除卖出的商品,库存管理员进货后,超市管理员利用系统自动添加新进商品。
类型:
字符型
长度:
随机
逻辑结构:
不允许为空
(16)名字:
供应商名称
描述:
供应商品单位
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(17)名字:
供应商地址
描述:
供应商的所在地
类型:
字符型
长度:
50
逻辑结构:
不允许为空
(18)名字:
供应商电话
描述:
供应商的联系方式
类型:
字符型
长度:
50
逻辑结构:
不允许为空
2.3.3数据结构描述
(1)数据流名称:
商品的基本信息
含义说明:
定义了商品的基本信息
组成结构:
商品名,商品编号,商品单价,库存量,归属类,出厂日期,过期日期,交易清单
(2)数据流名称:
职工的基本信息
含义说明:
定义了职工的基本信息
组成结构:
职工姓名,职工编号,职工性别,职工年龄,职工电话,职工的职位
(3)数据流名称:
仓库的基本信息
含义说明:
定义了仓库里的有关信息
组成结构:
仓库号,现有库存,最大库存,最小库存,货物号等。
(4)数据流名称:
销售商的信息
含义说明:
定义了销售商的信息
组成结构:
销售商的姓名,地址,联系方式,以及销售记录等。
(5)数据流名称:
供应商的基本信息
含义说明:
定义了供应商的有关信息
组成结构:
供应商姓名,供应商地址,供应商电话和供货记录等。
2.3.4数据存储描述
(1)数据存储名称:
商品信息表
含义说明:
商品的相关信息
组成结构:
商品编号,名称,单价,供应商姓名,生产日期,销售商姓名,所存仓库号,现有量。
说明:
销售商姓名和所存仓库号具有惟一性和非空性。
(2)数据存储名称:
职工的信息表
含义说明:
超市职工的信息表
组成结构:
职工的编号,姓名,性别,年龄,电话,地址,职位。
(3)数据存储名称:
仓库信息表
含义说明:
仓库的有关信息
组成结构:
仓库号,现有库存,最大库存,最小库存,所存货物号等
说明:
仓库号和所存货物号具有惟一性和非空性
(4)数据流名称:
销售商信息
含义说明:
存放销售商的信息
组成结构:
销售商信息包括销售商姓名,销售商地址,销售商电话和销售记录等
说明:
销售商姓名具有惟一性和非空性
(5)数据流名称:
供应商信息表
含义说明:
存放供应商的信息
组成结构:
供应商信息包括供应商姓名,供应商地址,供应商电话和供货记录等
说明:
供应商姓名具有惟一性和非空性
2.4概念结构设计
2.4.1概念结构设计的方法
概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
2.4.2概念结构设计的步骤
第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此先逐一的设计分E-R图。
第二步是进行视图的集成:
各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。
我想采用一次集成多个分E-R图的方式。
2.4.3数据抽象与局部视图设计
供货商信息实体属性图和销售商信息实体属性图分别如图所示。
供货记录联系方式联系方式
供货商生产厂商
名称地址名称地址
图1供货商基本信息实体图图2销售商信息实体图
用户编号职位用户姓名商品编号商品名称
地址超市用户用户性别商品
用户电话密码用户年龄商品价格类别商品打折
图3超市员工基本信息表图4商品信息表
会员卡号姓名
会员
注册时间累计金额
图5会员信息表
编号最大库存量最小库存量
仓库
存放货物号现有库存量
图6仓库信息表
根据商品与销售员的关系可设计如下关系图:
商品m销售n销售员
图7销售员与商品的关系
2.4.4系统E-R图
用户性别用户年龄
用户职位
编号用户用户姓名
m用户密码
销售销售日期名称
编号
n流水号供货日期电话
名称
商品n供货m供应商
价格
n允许打折供货价格地址
促销价格厂商地址
nn生产m生产商
厂商电话厂商名称
消费金额
编号最大库存量
存放
消费1仓库
购买日期会员姓名
m累计金额最小库存量存放货物号
会员卡号
会员注册日期图8系统E-R图
2.5逻辑结构设计
2.5.1E-R图向关系模型的转换
(1)一个1:
1联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;
(2)一个1:
n联系可以转换为独立的关系模式,也可以与n端对应的关系模式合并;
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分;将实体转化为关系模式。
根据图7所示的货物管理的基本E-R图,将其中的实体转化为如下关系,关系的主码用下划线标出,外码用波浪线标出。
由E-R图转换成关系模式:
(1)生产商(生产商名称,生产商地址,生产商电话,生产商编号)
(2)供应商(供应商编号,供应商名称,供应商电话,供应商地址,供货记录)
(3)仓库(仓库编号,最大库存量,最小库存量,现有库存,存放货物号)
(4)商品(商品编号,商品名称,商品价格,商品类别,促销价格,是否允许促销)
(5)会员(会员卡号,会员姓名,注册日期,累积金额,)
(6)用户(用户编号,用户姓名,用户性别,用户年龄,用户密码,用户职位)
2.5.2数据库的结构
根据总体结构图设计各表的结构,其相应标的定义如下:
表1生产商表
字段
类型
长度
是否主键
说明
k_name
字符型
50
是
生产商的名称
k_address
字符型
50
否
生产商的地址
k_phone
字符型
50
否
生产商的电话
表2销售商表
字段
类型
长度
是否主键
说明
S_name
字符型
50
是
销售商的名字
S_phone
字符型
50
否
销售商的电话
S_address
字符型
50
否
销售商的地址
S_record
字符型
50
否
销售记录
表3供应商表
字段
类型
长度
是否主键
说明
p_name
字符型
50
是
供应商的名字
p_phone
字符型
50
否
供应商的电话
p_address
字符型
50
否
供应商的地址
p_record
字符型
50
否
供应记录
表4商品表
字段
类型
长度
是否主键
说明
g_name
字符型
50
否
名称
g_id
字符型
50
是
商品编号
p_name
字符型
50
否
供应商名称
k_name
字符型
50
否
生产商名称
W_id
字符型
50
否
所入仓库号
xianyoukucun
字符型
50
否
现有库存
表5用户表
字段
类型
长度
是否主键
说明
m_name
字符型
50
否
用户姓名
m_sex
字符型
50
否
用户性别
m_age
数值型
50
否
用户年龄
m_secret
字符型
50
否
用户密码
m_id
字符型
50
是
用户编号
m_position
字符型
50
否
用户职位
表6会员表
字段
类型
长度
是否主键
说明
h_name
字符型
50
否
会员姓名
h_id
字符型
50
是
会员卡号
h_date
字符型
50
否
注册日期
leijijine
字符型
50
否
累计金额
2.5.3创建基本表
在实际设计中最常用的存取方法是索引法,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:
在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
首先在数据库中建立一个货物管理系统数据库,然后分别建立各个子表,为提高查询速度,再为各个表建立索引。
生成的主要代码如下
(1)创建表
(2)创建视图
(3)查询生产商的名称和电话
(4)查询会员卡号、注册日期和姓名
(5)查询销售商的销售记录、电话和名称
3.课程设计总结
我们用sql语言以及数据库做了一个连锁店管理系统,分别实现了连锁店管理系统的添加商店、职工、商品信息,删除商店、职工、商品信息、修改商店、职工、商品信息退出等几大功能。
在这次项目中,我们都很用心去做,但是,在项目中也出现了很多的问题,最大的问题就是对软件的不了解,在实现与数据库的连接时经常会出现各种不同的错误,在实现一些功能时系统常常会报错。
在这一个星期的课程设计中,我们回顾了很多以前的东西,也发现了很多的问题,以前都没遇见过的,收获很大,在对不同的功能代码是不一定可以完整的执行的,不过大概都是一样的,只有一些小的细节。
看着自己做的系统,自己就会又欣慰又难过,欣慰的是自己终于把它做出来了,而且,做的还好,难过的是自己知道还有很多的不足,但是,由于认识的有限,无法去完善,才知道“书到用时方恨少”!
此次连锁店管理系统的设计让我们对数据库的了解更深入,可以把它同实际相结合,同时,又让我们学会了一个新的应用软件。
在整个设计过程中,通过怎样对把各个管理信息连接起来的分析,锻炼了我们对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力和和其他同学的交流沟通能力。
通过这次数据库设计,我深刻的感到自身的不足,也感到要做出一个好的系统决不是一件容易的事情,它必须要经过详细的调查,了解所有涉及的流程和数据,考虑到各种可能出现的情况及处理的方法。
还有建立与之相适应的数据库,要全面,还要完整,这也是很困难的。
而且,经历这次的课程设计,我们也学会了自学和分工协作。
我们觉得每一次的课程设计,都是让我们对原有的知识从了解表面到深入本质,从个体学习到整体把握的跳跃,对新知识的汲取,更是让我们把课本的知识应用到实际中,让我们了解了我们的学习有什么用,能够解决什么样的问题,增加我们的自信和学习的动力。
总之,通过这次的课程设计,我们收获匪浅。
4.参考文献
1.《SQLServer2005实用教程》范立南刘天惠周力主编清华大学出版社
2.《数据库设计》Stephens主编机械工业出版社
3.《数据库原理》,王亚平,西北工业大学出版社,2002年,201-222.
4.《管理信息系统的分析与设计》王守茂,,天津科技翻译出版公司,1996年,45-49.
5.萨师煊,王珊著.数据库系统概论(第三版).北京:
高等教育出版社.2003.4