小型超市信息管理系统.docx
- 文档编号:30465552
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:20
- 大小:98.32KB
小型超市信息管理系统.docx
《小型超市信息管理系统.docx》由会员分享,可在线阅读,更多相关《小型超市信息管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
小型超市信息管理系统
小型超市管理系统
小型超市管理系统
一.绪论
1、课题背景:
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势,多种业态:
超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
2、系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。
3、现状及趋势:
我们所处的这个世界处在不断变化中,信息化进程正在不断发展,CPU的能力、网络的带宽和存储容量都在迅速扩大,信息的加工、管理和使用正在成为人类工作和生活的重要内容。
随着ATM、FDDI、快速以太网、VRML、JAVA等技术的出现和发展,将最终导致电视会议、家庭购物、家庭影院等设想的实现。
这更加速了Web与数据库的结合。
所以,WWW与数据库的结合成为发展的必然趋势,
4、研究内容
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:
前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
本系统适应于各种小型的超市。
5.开发工具
Windows2000SQLServer2000C环境
二.需求分析
根据需求分析,系统共需6张数据表,分别是:
员工信息表、商品信息表、厂商信息表、库存信息表、进货信息表、和售货信息表。
下面分析每张数据表需要的详细信息。
“员工信息表”用来存放员工的基本信息。
所需的字段有:
员工号、姓名、性别、出生日期、政治面貌、部门、职务、家庭地址、电话和备注等。
其中员工号作为该表的住索引。
“商品信息表”用来记录超市里每种商品的信息,这是系统中主要的操作对象,大部分操作都需要涉及到该表中的信息。
“商品信息表”所需字段有:
商品id、商品名称、价格和厂商id等。
其中每个商品都有惟一的编号——商品id,该字段为数据表的关键字段。
每种商品都有一个厂商id,用来关联到生产该产品的厂商信息记录,因此厂商id为辅助索引。
“厂商信息表”是用来存放每个厂商的基本信息,该数据表所需字段有:
厂商id、厂商名称、邮编、地址、电话、联系人和备注等信息。
“库存信息”表是用来存放超市里面每种商品的库存信息,该表所需字段有:
商品id和库存数量等。
“进货信息表”用来存放每次的进货信息。
“进货信息表”与系统的多张数据表相关联,在表中需要的字段有:
进货id、商品id、进价、数量、金额、员工id和进货日期。
由于不同的进货记录可能有相同的员工id和商品id,所以员工id和商品id的组合不能作为进货信息表的住索引,在进货信息表中需要设置一个进货id作为住索引。
“售货信息表”用来记录每次的售货信息,售货信息表中的字段有:
售货id、员工id、商品id、数量、金额和销售日期等。
与进货信息表类似,取售货id为住索引
三.系统总体分析
1.系统实现图
2.超市销售系统概念设计文档
(1)、系统ER图
(2)、系统ER图说明
1)商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
2)每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计
1)交易视图(v_Dealing)——用于查询交易情况的视图;
2)计划进货视图(v_PlanStock)——用于查询进货计划的视图;
3)销售视图(v_Sale)——用于查询销售明细记录的视图;
4)入库视图(v_Stock)——用于查询入库情况的视图。
四.系统详细设计
(1)、系统关系模型
a)商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b)用户表(用户编号,用户名称,用户密码,用户类型)
c)会员表(会员编号,会员卡号,累积消费金额,注册日期)
d)销售表(销售编号,商品编号,销售数量,销售金额,销售日期)
e)交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f)进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g)供货商表(供货商编号,供货商名称,供货商地址,供货商电话)
h)厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
(2)、系统数据库表结构
数据库表索引
表名
中文名
MerchInfo
商品信息表
User
用户表
Menber
会员表
Sale
销售表
Dealing
交易表
Stock
进货入库表
Provide
供货商表
Factory
厂商表
商品信息表(MerchInfo)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
MerchID
int
4
P
Notnull
商品编号
MerchName
Varchar
50
Notnull
商品名称
MerchPrice
Money
4
Notnull
价格
MerchNum
Int
4
Notnull
库存数量
CautionNum
Int
4
Notnull
库存报警数量
PlanNum
Int
4
null
计划进货数
BarCode
Varchar
50
Notnull
条形码
SalesProPrice
Money
4
促销价格
SalesProDateS
Datetime
8
促销起日期
SalesProDateE
Datetime
8
促销止日期
AllowAbate
Int
4
Notnull
允许打折
AllowSale
Int
4
Notnull
允许销售
FactoryID
Varchar
10
F
Notnull
厂商编号
ProvideID
Varchar
10
F
Notnull
供货商编号
用户表(User)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
UserID
varchar
10
P
Notnull
用户编号
UserName
Varchar
25
Notnull
用户名称
UserPW
Varchar
50
Notnull
用户密码
UserStyle
Int
4
Notnull
用户类型
会员表(Menber)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
MemberID
Varchar
10
P
Notnull
会员编号
MemberCard
Varchar
20
Notnull
会员卡号
TotalCost
Money
4
Notnull
累积消费金额
RegDate
Datetime
8
Notnull
注册日期
销售表(Sale)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
SaleID
Varchar
10
P
Notnull
销售编号
MerChID
Varchar
10
F
Notnull
商品编号
SaleDate
Datetime
8
Notnull
销售日期
SaleNum
Int
4
Notnull
销售数量
SalePrice
Money
4
Notnull
销售单额
交易表(Dealing)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
DealingID
Varchar
10
P
Notnull
交易编号
DealingPrice
Money
4
Notnull
交易金额
DealingDate
Money
4
Notnull
交易日期
MemberID
Varchar
10
会员卡号
UserName
Varchar
10
F
Notnull
用户名称
入库纪录表(Stock)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
StockID
Varchar
10
P
Notnull
入库编号
MerchID
Varchar
10
F
Notnull
入库商品编号
MerchNum
Int
4
Notnull
入库数量
MerchPrice
Money
4
Notnull
单额
TotalPrice
Money
4
Notnull
总额
StockDate
Datetime
8
Datetime
入库日期
PlanDate
Datetime
8
Datetime
计划进货日期
StockState
Int
4
Notnull
入库状态
供货商表(Provide)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
ProvideID
varchar
10
P
Notnull
供货商编号
ProvideName
Varchar
50
Notnull
供货商名称
ProvideAddress
Varchar
250
供货商地址
ProvidePhone
Varchar
25
供货商电话
厂商表(Provide)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
FactoryID
varchar
10
P
Notnull
厂商编号
FactoryName
Varchar
50
Notnull
厂商名称
FactoryAddress
Varchar
250
厂商地址
FactoryPhone
Varchar
25
厂商电话
五.系统实现
/*----------创建数据库----------*/
createdatabaseSuperMarketdb
onprimary
(
name=SuperMarketdb,
filename='C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
logon
(
name=SuperMarketlog,
filename='C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*----------创建基本表----------*/
use[SuperMarketdb]
go
/*创建交易表*/
CREATETABLEDealing(
DealingIDintidentity(1,1)Primarykey,
DealingDatedatetimeNOTNULL,
DealingPricemoneyNOTNULL,
UserNamevarchar(25)NULL,
MemberCardvarchar(20)NULL
)
GO
/*创建厂商表*/
CREATETABLEFactory(
FactoryIDvarchar(10)Primarykey,
FactoryNamevarchar(50)NOTNULL,
FactoryAddressvarchar(250)NULL,
FactoryPhonevarchar(50)NULL
)
GO
/*创建会员表*/
CREATETABLEMember(
MemberIDvarchar(10)Primarykey,
MemberCardvarchar(20)NOTNULL,
TotalCostmoneyNOTNULL,
RegDatedatetimeNOTNULL
)
GO
/*创建商品信息表*/
CREATETABLEMerchInfo(
MerchIDintidentity(1,1)Primarykey,
MerchNamevarchar(50)UniqueNOTNULL,
MerchPricemoneyNOTNULL,
MerchNumintNOTNULL,
CautionNumintNOTNULL,
PlanNumintNOTNULL,
BarCodevarchar(20)UniqueNOTNULL,
SalesProPricemoneyNULL,
SalesProDateSdatetimeNULL,
SalesProDateEdatetimeNULL,
AllowAbateintNOTNULL,
AllowSaleintNOTNULL,
FactoryIDintNOTNULL,
ProvideIDintNOTNULL
)
GO
/*创建供应商表*/
CREATETABLEProvide(
ProvideIDvarchar(10)Primarykey,
ProvideNamevarchar(50)NOTNULL,
ProvideAddressvarchar(250)NULL,
ProvidePhonevarchar(25)NULL
)
GO
/*创建销售表*/
CREATETABLESale(
SaleIDintidentity(1,1)Primarykey,
MerChIDintNOTNULL,
SaleDatedatetimeNOTNULL,
SaleNumintNOTNULL,
SalePricemoneyNOTNULL
)
GO
/*创建入库表*/
CREATETABLEStock(
StockIDintidentity(1,1)Primarykey,
MerchIDintNOTNULL,
MerchNumintNOTNULL,
MerchPricemoneyNULL,
TotalPricemoneyNULL,
PlanDatedatetimeNULL,
StockDatedatetimeNULL,
StockStateintNOTNULL
)
GO
/*创建用户表*/
CREATETABLEUser(
UserIDvarchar(10)Primarykey,
UserNamevarchar(25)NOTNULL,
UserPWvarchar(50)NOTNULL,
UserStyleintNOTNULL,
)
GO
/*----------创建表间约束----------*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/
ALTERTABLEMerchInfoADD
CONSTRAINT[FK_MerchInfo_Factory]FOREIGNKEY
(
[FactoryID]
)REFERENCESFactory(
[FactoryID]
),
CONSTRAINT[FK_MerchInfo_Provide]FOREIGNKEY
(
[ProvideID]
)REFERENCESProvide(
[ProvideID]
)
GO
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTERTABLESaleADD
CONSTRAINT[FK_Sale_MerchInfo]FOREIGNKEY
(
[MerChID]
)REFERENCESMerchInfo(
[MerchID]
)ONDELETECASCADE
GO
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTERTABLEStockADD
CONSTRAINT[FK_Stock_MerchInfo]FOREIGNKEY
(
[MerchID]
)REFERENCESMerchInfo(
[MerchID]
)ONDELETECASCADE
GO
/*----------创建索引----------*/
/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_DealingONDealing(DealingID,DealingDate)
GO
/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_MerchInfoONMerchInfo(MerchID)
GO
/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_SaleONSale(SaleID,SaleDate)
GO
/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/
CREATEnonclusteredINDEXIX_StockONStock(StockID,StockDate,MerchID)
GO
/*----------创建视图----------*/
/*创建用于查询交易情况的视图*/
CREATEVIEWv_Dealing
AS
SELECTDealingDateas交易日期,
UserNameas员工名称,
MemberCardas会员卡号,
DealingPriceas交易金额
FROMDealing
GO
/*创建用于查询进货计划的视图*/
CREATEVIEWv_PlanStock
AS
SELECTStock.StockIDasSID,
MerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
Factory.FactoryNameas厂商,
Provide.ProvideNameas供货商,
Stock.MerchNumas计划进货数量,
Stock.PlanDateas计划进货日期
FROMStock,MerchInfo,Provide,Factory
WhereStock.MerchID=MerchInfo.MerchID
andProvide.ProvideID=MerchInfo.ProvideID
andFactory.FactoryID=MerchInfo.FactoryID
andStock.StockState=0
GO
/*创建用于查询销售明细记录的视图*/
CREATEVIEWv_Sale
AS
SELECTMerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
MerchInfo.MerchPriceas商品价格,
Sale.SalePriceas销售价格,
Sale.SaleNumas销售数量,
Sale.SaleDateas销售日期
FROMSaleINNERJOIN
MerchInfoONSale.MerChID=MerchInfo.MerchID
GO
/*创建用于查询入库情况的视图*/
CREATEVIEWv_Stock
AS
SELECTMerchInfo.MerchNameas商品名称,
MerchInfo.BarCodeas条形码,
Factory.FactoryNameas厂商,
Provide.ProvideNameas供货商,
Stock.MerchPriceas入库价格,
Stock.MerchNumas入库数量,
Stock.TotalPriceas入库总额,
Stock.StockDateas入库日期
FROMStock,MerchInfo,Provide,Factory
WhereStock.MerchID=MerchInfo.MerchID
andProvide.ProvideID=MerchInfo.ProvideID
andFactory.FactoryID=MerchInfo.FactoryID
andStock.StockState=1
GO
六.小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
七.参考资料
《数据库原理及设计》陶宏才编清华大学出版社
《SQLServer2000实用教程》范立南编清华大学出版社
《SQLServer2000编程员指南》李香敏编北京希望电子出版社
《轻松搞定SQLServer2000程序设计》RebeccaM.Riordan编
《软件工程规范》WattsS.Humphrey编清华大学出版社
《软件工程理论与实践》ShariLawrencePfleeger编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 超市 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)