商品销售管理系统数据库课程设计.docx
- 文档编号:9808141
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:24
- 大小:551.58KB
商品销售管理系统数据库课程设计.docx
《商品销售管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《商品销售管理系统数据库课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
商品销售管理系统数据库课程设计
前言
由于科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。
采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而销售管理的全面自动化、信息化则是其中重要的组成部分。
销售管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。
因此,本文所研究的销售管理系统具有一定的使用价值和现实意义。
1系统规划
1.1系统开发目的
本项目是为某商品销售公司开发的的一个商品销售管理系统,由于这个公司的规模比较大,需要管理的货物比较多,每次仓库总是堆满了货物,货物价格混乱,如何让管理者尽快向客户提供商品的最新价格及时商品的库存信息,成为了急于解决的问题。
为了,提高销售部人员工作效率和管理水平,销售公司希望有一个自动化的商品销售管理系统能够给他们带来工作的便利,提高工作效率。
项目要达到的目标
本项目设定的目标如下:
系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少
系统具有良好的运行效率,能够得到提高生产率的目的
系统应有良好的可扩充性,可以容易的加入其它系统的应用。
平台的设计具有一定的超前性,灵活性,能够适应医院配置的变化。
1.2系统开发工具
本文以VisualBasic6.0和sever2008为基础,建立一个简单的商品销售管理系统,从而实现商品销售的系统化、规范化和自动化。
在此软件的开发过程中,严格遵守了软件工程的规范,它经历了系统概述、需求分析、系统设计等几个阶段,使系统结构清晰,条理分明。
本软件安全性强,维护成本低,系统可靠性强扩充性好且开发效率高,使用方便,标准化程度较高。
对于用户来说,本软件的优点就是界面简明,使用户一看到就应该能知道怎么样去使用本软件。
2需求分析
2.1业务需求及处理流程
2.1.1业务需求分析
对于商品销售系统主要业务一般有商品基本信息查询、商品信息录入、商品查询、商品价格和折扣管理,商品库存管理。
以下是不同的用户对销售管理系统需求:
普通用户功能需求:
注册成为新用户,登陆后进入数据库查询商品基本信息,如商品编号,商品名称,商品价格,有无库存,折扣;
添置订单。
销售部门经理的功能需求:
验证后登陆,能够查询商品库存信息
,查询各种商品的销售量,以及查询销量较少的商品,修改商品价格及折扣。
管理员的功能需求:
能够录入、更改和删除商品信息,进行库存管理,设置库存上限及下限,对库存量不足的的商品提出采购请求并制定采购计划书;受理订单并发货。
下面以活动视图的方式叙述如下:
图1活动视图
2.1.2处理流程
主要的业务流程有生成采购单、订单受理以及在线生成订单,其处理流程如下:
(1)订单生成主要是根据客户需求完成的,由于该商店的财务管理的限制不支持线上付款功能,故起订单生成的业务流程如图:
图2订单生成
采购单的生成,如下图所示:
图3采购单生成
2.2功能需求及数据需求分析
系统包括管理员信息模块、客户信息模块、商品信息模块、营销信息模块(进货和销售管理)、供应商信息模块。
根据详细调查其功能模块图如下所示:
图4功能模块图
管理员注册管理:
管理员以职员身份注册并填写基本信息,包括姓名、性别、出生年月、住址、电话。
系统检查所有信息填写正确后提示注册成功,并返回职工编号。
客户注册管理:
客户以游客身份注册并填写基本信息,包括姓名、性别、住址、电话。
系统检查所有信息填写正确后提示注册成功,并返回客户编号。
订单管理:
订单查询;订单提交后,
供应商管理:
为方便制定采购计划,要求保存供应商信息,包括供应商名称、供应商编号、供应商地址、联系电话、联系人。
商品销售管理:
包括进货和销售信息,可以对其进行添加、删除、修改和查询,填制出库单,入库单,并进行销售统计。
出库单信息包括:
出库单编号,商品编号,商品名称,出库量,出库日期;
入库单信息包括:
入库单编号,商品编号,商品名称,入库量,入库日期;
销售统计表包括:
商品编号,商品名称,单价,销售量,销售额;
库存管理:
查询、修改商品的库存情况,并填制库存表,包括商品名称,商品编号,库存量;
填制出库登记表,包括:
商品名称,商品编号,出库数量,出库日期,出库单编号;
填制入库登记表,包括:
商品名称,商品编号,入库数量,入库日期,入库单编号等;
商品信息管理:
可以对商品的价格及折扣属性进行修改。
可以录入和删除商品基本信息。
2.3业务规则分析
业务规则分析主要是分析数据之间的约束以及数据库约束。
基于上述功能需求,通过对销售管理的进一步理解总结归纳,其相应的业务规则如下所示:
(1)客户编号,职工编号是编号的唯一标识,由系统按时间顺序生成。
(2)每个订单用订单编号唯一标识,订单编号按系统时间按时间顺序生成,后提交的订单,订单编号越大。
(3)同一订单可以包含多种商品,订单在受理前可以进行修改,以及取消订单。
(4)商品信息的价格及折扣变动,只能由销售经理进行。
(5)一种商品只能由一个供应商供应,而一个供应商能供应多种商品。
3
概念结构设计
数据库概念设计是根据需求分析中得到的信息,并采用适当的数据模型将这些需求转化为数据库的概念模式。
在此阶段我们只关注如何描述数据及数据之间的关系。
二不必关心将要使用的数据库管理系统,根据需求分析我们可定义出以下实体集、联系集及其属性。
3.1定义实体集及其属性
实体集是具有相同类型及相同性质的实体集合。
通常一个实体对应一个事物。
根据需求分析,可得出以下四个实体集以及其相应的属性并得出其E-R图:
1)客户实体集,其属性有:
客户编号,客户姓名,性别,电话号码,家庭地址。
其E-R图如下所示:
图5
2)职工实体集,其属性有:
职工编号,职工姓名,性别,年龄,出生年月,电话,电子邮箱,家庭地址,及薪酬。
其E-R图如下所示:
图6
3)商品实体集,其属性有:
商品编号,商品名称,出厂日期。
其E-R图如下所示:
图7
4)部门实体集,其属性有:
部门名称,部门编号,部门地址,及经理姓名,联系电话。
其E-R图如下所示:
图8
5)供应商实体集,其属性有:
供应商编号,公司名称,公司地址,公司联系人,公司电话,传真,网址。
其E-R图如下所示:
图9
6)仓库实体集,其属性有:
仓库编号,仓库地址。
其E-R图如下所示:
图10
3.2确定联系集及E-R图
确定实体集之后,接下来就是确定联系集,就是研究实体集之间的数学关系,这是决定E-R图设计的关键。
故做出以下分析:
1)客户与商品之间的“订购”联系集。
它是一个多对多的联系,其描述的属性有:
订单号,订购日期,订购数量,收货人,及收货地址,应收款项。
2)商品与仓库之间的“存储”联系集。
它是一个一对多的联系,其描述的属性有:
存储量等。
3)职工与部门之间的“就职”联系集。
它是一个多对一的联系,其描述的属性有:
工作职位,工龄。
4)供应商与商品之间“供应”联系集。
它是一个一对多的联系,其描述的属性有:
进货价格。
5)部门与商品之间“销售”联系集。
它是一个多对多的联系,其描述的属性有:
销售数量,销售价格,销售日期。
联系集及其描述的属性及所涉及的实体集的E-R图如下图所示:
3.3检查是否满足需求
在上述E-R图中,在客户与商品的“订购”联系中,一个客户在一个订单中只能订购一种商品,所以,对“订购”联系进行优化,添加一个实体集订单,一个客户能下多笔订单,但一个订单只能由一个客户填制;一个订单可以订购多种商品,一个商品能被多个订单订购。
优化后的需添加“订单”实体集及“订购”和“填制”两个联系集。
优化后的E-R图如下所示:
4逻辑结构设计
4.1E-R图向关系模型的转换
实体集转换成关系模式
客户基本信息表(客户编号,客户姓名,性别,电话号码,家庭地址);
职工基本信息表(职工编号,职工姓名,性别,年龄,出生年月,电话,电子邮箱,家庭地址,薪酬,职位,部门编号);
部门基本表(部门编号,部门名称,部门地址,及经理姓名,联系电话);
供应商信息表(供应商编号,公司名称,公司地址,公司联系人,公司电话,传真,网址);
商品信息基本表(商品编号,商品名称,出厂日期,进货价格,供应商编号,库存编号);
仓库信息基本表(库存编号,仓库名称,仓库地点,仓储量)
订单信息表(订单编号,应收款项,收货地址,收货人,客户编号)
联系集转化成关系模式
订购统计表(订单编号,商品编号,订购日期,数量)
库存统计表(商品编号,库存编号,库存量)
销售统计表(部门编号,商品编号,销售量,销售价格,销售日期)
4.2模式求精
以上数据模式客户基本信息表、部门基本表、供应商信息表、仓库信息基本表、订购统计表、库存统计表、销售统计表满足第二范式的要求;且职工基本信息表,订单信息表能够满足减少查询次数的要求。
故以上关系模式能够满足商品销售数据库系统的要求。
5
数据库的实施
5.1数据库与基表的创建
1)数据库的创建如下所示:
CREATEDATABASE[商品销售管理系统]ONPRIMARY
(NAME=N'商品销售管理系统',
FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\商品销售管理系统.mdf',
SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOGON
(NAME=N'商品销售管理系统_log',FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\商品销售管理系统_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
2)商品信息表的建立如下所示:
USE[商品销售管理系统]
GO
CREATETABLE[dbo].[商品信息表](
[商品编号][bigint]NOTNULL,
[商品名称][varchar](50)NOTNULL,
[出厂日期][datetime]NOTNULL,
[进货价][int]NOTNULL,
[供应商编号][bigint]NOTNULL,
[库存编号][bigint]NOTNULL,
CONSTRAINT[PK_商品信息表]PRIMARYKEYCLUSTERED
(
[商品编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
3)客户信息表的建立如下所示:
CREATETABLE[dbo].[客户信息表](
[客户编号][bigint]NOTNULL,
[客户姓名][varchar](20)NOTNULL,
[性别][char]
(2)NOTNULL,
[电话][char](11)NOTNULL,
[地址][text]NULL,
CONSTRAINT[PK_客户信息表]PRIMARYKEYCLUSTERED
(
[客户编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
4)仓库的建立如下所示:
CREATETABLE[dbo].[仓库](
[库存编号][bigint]NOTNULL,
[仓库名称][varchar](50)NOTNULL,
[仓库地址][varchar](50)NOTNULL,
CONSTRAINT[PK_仓库]PRIMARYKEYCLUSTERED
(
[库存编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
5)部门表的建立如下所示:
CREATETABLE[dbo].[部门表](
[部门编号][bigint]NOTNULL,
[部门名称][varchar](50)NOTNULL,
[地址][varchar](max)NOTNULL,
[经理姓名][varchar](20)NOTNULL,
[联系方式][char](11)NOTNULL,
CONSTRAINT[PK_部门表]PRIMARYKEYCLUSTERED
(
[部门编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
6)库存统计表建立如下所示:
CREATETABLE[dbo].[库存统计表](
[商品编号][bigint]NOTNULL,
[库存编号][bigint]NOTNULL,
[库存量][int]NOTNULL
)ON[PRIMARY]
7)订单信息表的建立如下所示:
CREATETABLE[dbo].[订单信息表](
[订单编号][bigint]NOTNULL,
[应收款项][int]NOTNULL,
[收货地址][text]NOTNULL,
[收货人][varchar](20)NOTNULL,
[电话][char](11)NOTNULL,
CONSTRAINT[PK_订单信息表]PRIMARYKEYCLUSTERED
(
[订单编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
供应商表的建立如下所示:
CREATETABLE[dbo].[供应商](
[供应商编号][bigint]NOTNULL,
[供应商名称][varchar](50)NOTNULL,
[地址][varchar](50)NOTNULL,
[联系人][varchar](10)NOTNULL,
[联系电话][varchar](20)NOTNULL,
[网址][varchar](50)NULL,
[传真号][char](9)NOTNULL,
CONSTRAINT[PK_供应商]PRIMARYKEYCLUSTERED
(
[供应商编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
8)订购信息表的建立如下所示:
CREATETABLE[dbo].[订购信息表](
[订单编号][bigint]NOTNULL,
[商品编号][biglint]NOTNULL,
[订购日期][datetime]NOTNULL,
[数量][nchar](10)NOTNULL
)ON[PRIMARY]
9)销售记录表的建立如下所示:
CREATETABLE[dbo].[销售记录](
[部门编号]][biglint]NOTNULL,
[商品编号]][biglint]NOTNULL,
[销售量][int]NOTNULL,
[销售价格][int]NOTNULL,
[销售日期][datetime]NOTNULL
)ON[PRIMARY]
10)职工信息表的建立如下所示:
CREATETABLE[dbo].[职工信息表](
[职工编号]][biglint]NOTNULL,
[职工姓名][varchar](10)NOTNULL,
[性别][char]
(2)NOTNULL,
[年龄][int]NOTNULL,
[出生年月][datetime]NOTNULL,
[联系方式][char](11)NOTNULL,
[家庭地址][varchar](50)NOTNULL,
[部门编号][biglint]NOTNULL,
[薪酬][int]NOTNULL,
[职位][varchar](20)NOTNULL,
CONSTRAINT[PK_职工信息表]PRIMARYKEYCLUSTERED
(
[职工编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
11)数据库关系图建立截图如下所示:
5.2数据的载入
数据库以及基本表已经创建完毕了,下面我以一个家电销售公司的业务数据为例,输入数据库系统。
部门信息的录入截图如下所示:
仓库信息的录入截图如下所示:
客户信息的录入截图如下所示:
订单信息的录入截图如下所示:
供应商信息的录入截图如下所示:
职工信息的录入截图如下:
商品信息的录入截图如下:
销售统计表录入信息如下:
库存信息的录入如下所示:
定过统计信息的录入如下所示:
5.3数据的查询
1)聚合函数如下所示:
查询销售部门职工的基本信息的语句如下所示:
SELECT职工姓名,性别,年龄,出生年月,职工信息表.电话,薪酬,经理姓名
FROM部门信息表,职工信息表
WHERE部门信息表.部门编号=职工信息表.部门编号
GROUPBY部门信息表.部门编号,职工编号
HAVING(部门信息表.部门编号='10001')
执行结果如下所示:
2)投影运算如下所示:
查询供应商的联系方式,SQL语句如下所示:
SELECT供应商名称,联系人,电话
FROM供应商表
其运行结果如下所示:
3)选择运算如下所示:
SELECT商品信息表.商品名称,商品信息表.进货价格,库存统计表.库存量
FROM商品信息表,库存统计表
WHERE商品信息表.商品编号=库存统计表.商品编号
AND库存统计表.库存量<20
运行结果如下所示:
结束语
经过2周的努力,终于设计出了一个满足功能需求的数据库,其功能完善,但也存在着某些方面的缺陷。
但还需进一步的改善和纠正,总的来说达到了数据库的要求。
不过在函数依赖集上还存在一些问题,函数部分依赖和函数传递依赖方面还是比较生疏。
通过本次数据课程实践能够让我更理解数据库对在教学和生活等方面的作用是非常巨大的。
20世纪50年代中期以前的这段时间内,主要是人工管理阶段,数据需要由应用程序自己定义和管理,没有相应的程序设计某些相同的数据,必须有各自的应用程序分别定义和管理这些数据,无法共享利用,因此存在大量的数据冗余,也浪费了大量的人。
不过后来的文件管理阶段就是由专门的软件对数据进行统一的管理。
对于一个特定的应用,数据集中组织存放在多个数据文件或文件组中,并对该文件组来开发特定的应用程序。
虽然文件管理带来了极大方便,但是在文件系统中储存数据的弊端还有不少,数据共享差,数据独立性差,完整性等问题。
数据库管理系统的诞生让我们从中解脱了出来,所以我们能够用抽象化思维去分析事物,总结特征,抓住联系,这是一种方法,也是一种习惯,也是数据库管理的核心思想,我相信我能够很快掌握数据库这门技术的。
参考文献
[1]
[2]
[3]
[4]马晓梅.SQLSERVER实验指导.清华大学出版社
[5]数据库系统概论.萨师煊王珊高等教育出版社1999年第3版
[6]完全掌握SQLServer2008.罗运模人民邮电出版社,2009
[7]数据库系统原理与设计.万常选等清华大学出版社,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品 销售 管理 系统 数据库 课程设计