数据库系统课程设计报告-超市管理系统
数据库系统课程设计报告-超市管理系统
超市管理系统数据库设计
摘要
本次实习的题目是超市管理系统,主要的目的是在超市进销存模块的基础上对超市的经营、管理进行研究和探讨。根据系统所需功能,决定以windows 10为开发平台,采用选择功能强大的Microsoft SQL Server为开发工具,利用软件工程思想和方法,开发该系统的所需要的功能。本系统由商品信息管理模块,员工信息管理模块,供应商信息管理模块等的组成,对超市中的各种信息进行分类管理,统筹规划。功能较为全面。
关键字:超市、库存、数据库、Microsoft SQL Server
引言
目前,无论是超市还是公司企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。于是,进销存管理信息系统便应运而生。在工厂中,产品的进销存涉及产品原料的采购、库存、投入生产、报损,甚至有时涉及到销售,同时,对于产品也有相应的生产、库存、销售、和报损等环节。在其他非生产性单位,如超市、商店等,则主要涉及到进货、库存、销售和报损4个方面。
超市进销存管理的对象是很多的,广而言之,它可以包括:商业、企业超市的商品,图书馆超市的图书,博物馆超市的展品等等。在这里本文仅涉及工业企业的产品超市。
超市进销存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。
1.需求分析
1.1处理对象及组织如下:
商品:商品编号、商品名称、商品单价、生产日期、保质期、商品重量、商品规格
供应商:应商名称、供应商地址、供应商帐号、供应商传真、供应商电话、交货日期、订单号
库存:库存号、现有库存、最高库存、最低库存、盈亏数量、联系人
(1)针对超市进销存管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出如下的需求信息:商品按类管理,所以需要有一商品类型信息。如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。需要记录供应商品信息。在涉及商品数量的地方,需要知道商品的库存地方。商品销售信息单中要包含登记商品销售数量、单价等信息。在进货信息中要包含商品供应商等信息。商品报损要有报损原因。进货、销售、报损操作要有相应信息管理员。只有管理员登录之后才可以使用系统。默认的管理员不可以删除。进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。当进行进货、销售和报损操作后,能相应更新库存。
(2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:商品类型信息,包括数据项有:商品信息,包括的数据项有:商品编号、商品名称、商品的的生产日期、库存量等。商供应商信息,包括供应商号、供应商名称、联系电话等。进货信息,包括进货商品号、数量、规格、单价等。销售信息,包括销售商品、数量、单价等。报损信息,包括报损商品、数量、原因、登记时间等。员工信息,包括员工号、姓名、职称等
1.2信息处理及系统功能
该系统由商品信息管理模块,员工信息管理模块,供应商信息管理模块,仓库信息管理模块等可以完成商品的进销存和查询,更改等的基本操作。并根据客户的要求完善系统的功能需求。系统功能有:(1)商品信息的管理包括商品基本信息的新建、修改和删除,商品的编号、商品名称、商品规格等
(2)供货商信息管理:包括供货商信息的新建、修改和删除和供应商的名称、供应商代号、供应商地址等。
(3)员工信息管理:系统管理员的添加、删除和修改密码和员工姓名、性别、职称、工号等。
(4)仓库信息管理:仓库号、库存商品号、商品数量等
1.3数据库系统开发环境
数据库系统开发环境需求决定以windows XP为开发平台,采用选择功能强大的Microsoft SQL Server为开发工具。
1.4该业务的流程图
通过对超市管理系统的要求和分析、处理,弄清楚了进销存各个系统的环节需求。清楚了环节所需要的信息内容、流向、处理、提供信息的信息表形态等,把分析系统的相关用“业务流程图”表示出来。具体分为进货业务,销售业务,业务流程图如下:
以下是某超市管理系统的业务流程的分析
- 超市管理系统业务流程图的符号解释

业务处理单位/个人 清单/报表 信息流程
(2)超市管理系统进货业务流程图

(3)超市管理系统销售业务流程

1.5某超市管理系统数据流程图分析
数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了超市销售管理系统的顶层数据流程图、第二层数据流程图和第三层数据流程图。
(1)某超市管理系统数据流程图符号解释
1、外部实体 2、处理 3、数据流 4、数据存储
(2)某超市管理系统顶层数据流程图
上图是超市管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流,在顶层数据流程图中,把超市管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。
(3)第一层数据流程图
确定系统的主要处理功能,可以将系统分为进货管理、库存管理、销售管理等几部分。再确定各个输入和输出的数据流的以及与之相关的数据结构,为各个数据流、报表命名
并编码,从而得到超市销售进销存系统的第一层数据流程图,如图上图所示
(4)第二层数据流程图
再将第一层数据流程图分解就可得到第二层流程图。其中某些数据项处理可分解为多个处理过程。在本系统中有销售模块、进货管理。每一部分都可以分解为第二层流程图。具体的分解情况如下
(5)数据字典
数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
2.数据库结构设计
主要包括概念设计和逻辑设计两个部分。
2.1 概念设计
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念结构的主要特点:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换。
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
概念设计的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
概念设计的任务和方法是能用E—R图表示出整个系统的实体,实体的属性及实体间的联系。概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。它通常分为两步:第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
2.2.1 建立关系模式
E—R图转换为关系模型实际上就是要将实体性、实体的属性和实体性之间的联系转换为关系模式,这种转换一般遵循如下规则:
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体型见的联系则有以下不同的情况:
(1)一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式看,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码味n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系吗的一部分。
根据以上规则将本系统的E—R图转换为关系模式(关系的码用下划线标出)
有一个超市管理系统数据库,包括T、S、Y、K、TY、SK、TSYK个关系模式:
T(TID,Tname,TPrice,Tproducedate,TKeepdate,TWeight,TNorms,TProducename);
S(SCodename ,SName,SAddress, SFax,Stele,SDate,SOrder);
Y(YID,YName,YSex,YAge,YZhichen);
K(KNo,KNum,KHnum,KDnum,KPnum,KPerson);
KT(KNo,TID,QTY)
TY(TID,YID,QTY);
SK(SNo,KNo,CQTY);
TSYK(TID,SName,YID,KNo,WQTY)
- 商品信息表T由商品编号(TID)、商品名称(Tname)、商品单价(TPrice)、生产日期(Tproducedate)、保质期(TKeepdate)、商品重量(TWeight)、商品规格(TNorms)组成;
- 供应商信息表S由供应商名称(SName)、供应商地址(SAddress)、供应商帐号(SCodename)、供应商传真(SFax)、供应商电话(Stele)、交货日期(SDate)、订单号(SOrder);
- 员工信息表Y由员工编号(YID)、员工姓名(YName)、员工的性别(YSex)、员工的年龄(YAge)、员工的职称(YZhichen);
- 库存信息表K由库存号(KNo)现有库存(KNum)、最高库存(KHnum)、最低库存(KDnum)、盈亏数量(KPnum)、联系人(KPerson)组成;
- KT表是由存储商品的库存号(KNO),标识商品的代号(TID),某商品的数量(QTY)组成;
- YT由标识公司员工的代码(YID ),标识商品的代号(TID),销售的商品数量(CQTY)组成;
- ST供应商商品表由某供应商的产品代号(SCodename),标识商品的代号(TID),
- TSYK供应商商品员工仓库表由商品编号(TID)、供应商名称(SName)、库存号(KNo)、员工编号(YID)实际的商品数量(WQTY)组成;
2.2.2 关系模式规范化处理
根据F,分析每一个关系模式是否满足3NF,对不满足3NF的关系模式要进行规范化处理。
2.2.3 用户子模式建立
对不同级别的用户定义不同的view,如下图
表1为视图表
|
用户对象 |
视图描述 |
作用 |
|
管理员 |
购买商品(商品编号,商品名称,商品价格) |
用于顾客和管理者对购买商品情况的查询 |
|
管理员 |
供应商(供应商编号,名称,地址,电话,交货日期) |
用于管理者对所有供应商信息的查询 |
|
管理员 |
存放(仓库号,商品现存量,商品最高数量,商品最低量) |
用于管理员查询商品的简要的信息 |
|
管理员 |
员工(员工姓名,年龄,职称) |
用于管理员查询员工的基本信息 |
3. 数据库物理设计
通常关系数据库物理设计的内容主要包括:
(1)为关系模式选择存取方法;
(2)设计关系、索引等数据库文件的物理存储结构。
物理设计的方法:
(1)首先对要运行的事物进行详细分析,获得选择物理结构设计所需要的参数。
(2)其次,要充分了解所用RDBMS的内容特征,特别是系统提供的存取方法和存取结构。
建立索引的原则:
(1)如果一个(或)一组属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或则会索引);
(2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;
(3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;
建立索引如下表:
表2为索引表
|
所在表名 |
索引名称 |
索引类型 |
所在表的属性 |
|
供应商 |
SupInfo |
唯一 |
Pid |
|
商品信息表 |
teleTwo |
聚簇 |
Tprice |
|
仓库信息 |
Storetele |
聚簇 |
InTime+OutTime |
|
员工信息 |
ADBuyInfo |
聚簇 |
BuyDate+BuyNum |
建立存储过程如表
表4.2 为储存过程表
|
存储过程名 |
作用 |
|
Telefind |
查询商品基本信息 |
|
Sum_money |
统计商品销售情况 |
|
CteleInfo |
顾客查询商品信息 |
|
Spp |
查询供应商信息 |
|
Up_TeleInfo |
更新商品信息表 |
4.数据库物理实现
(一)数据表
数据项如表一
|
数据项编号 |
数据项名称 |
简述 |
类型及宽度 |
取值范围 |
|
I1 |
TID |
标识商品的代号 |
Char(8) |
|
|
I2 |
Tname |
某商品的名称 |
Char(14) |
|
|
I3 |
TPrice |
某商品的价值 |
Int |
|
|
I4 |
Tproducedate |
某商品生产的时间 |
Char(6) |
|
|
I5 |
TKeepdate |
某商品的保存时间 |
Char(2) |
|
|
I6 |
TWeight |
某商品的重量 |
Char(8) |
|
|
I7 |
TProducename |
某商品的生产公司 |
Char(14) |
|
|
I8 |
TNorms |
某商品长宽 |
Char(6) |
|
|
I9 |
SName |
某商品的公司名称 |
Char(12) |
|
|
I10 |
SAddress |
某商品生产的地方 |
Char(16) |
|
|
I11 |
SCodename |
某供应商的产品代号 |
Char(8) |
|
|
I12 |
SFax |
与供应商的传真联系方式 |
Char(11) |
|
|
I13 |
STele |
联系供应商的电话方式 |
Char(11) |
|
|
I14 |
SDate |
定货单位要求的供货日期 |
Char(12) |
|
|
I15 |
SOrder |
发出订单的单据号 |
Char(8) |
|
|
I16 |
YID |
标识公司员工的代码 |
Char(6) |
|
|
I17 |
Yname |
公司员工的姓名 |
Char(6) |
|
|
I18 |
YSex |
公司员工的性别 |
Char(1) |
|
|
I19 |
YAge |
公司员工的年龄 |
Char(2) |
|
|
I20 |
YZhichen |
公司的员工的职位名称 |
Char(6) |
|
|
I21 |
KNO |
存储商品的库存号 |
char(2) |
|
|
I22 |
KNum |
某种商品当前的库存量 |
Char(4) |
|
|
I23 |
KHnum |
商品的库存上限 |
Char |
|
|
I24 |
KDnum |
商品的库存下限 |
Char |
|
|
I25 |
KPnum |
盘盈盘亏数量 |
Int |
|
|
I26 |
KPerson |
与定货发生联系的供应商负债人 |
Char(8) |
(二)关系模式表
商品关系模式表
|
数据项名称 |
简述 |
类型及宽度 |
取值范围 |
|
TID |
标识商品的代号 |
Char(8) |
|
|
Tname |
某商品的名称 |
Char(14) |
|
|
TPrice |
某商品的价值 |
Int |
|
|
Tproducedate |
某商品生产的时间 |
Char(6) |
|
|
TKeepdate |
某商品的保存时间 |
Char(2) |
|
|
TWeight |
某商品的重量 |
Char(8) |
|
|
TNorms |
某商品长宽 |
Char(12) |
|
|
TProducename |
某商品的生产公司 |
Char(14) |
供应商关系模式表
|
SCodename |
某供应商的产品代号 |
Char(8) |
|
|
SName |
某商品的公司名称 |
Char(12) |
|
|
SAddress |
某商品生产的地方 |
Char(16) |
|
|
SFax |
与供应商的传真联系方式 |
Char(11) |
|
|
STele |
联系供应商的电话方式 |
Char(11) |
|
|
SDate |
定货单位要求的供货日期 |
Char(12) |
|
|
SOrder |
发出订单的单据号 |
Char(8) |
员工关系模式表
|
YID |
标识公司员工的代码 |
Char(6) |
|
|
Yname |
公司员工的姓名 |
Char(6) |
|
|
YSex |
公司员工的性别 |
Char(1) |
|
|
YAge |
公司员工的年龄 |
Char(2) |
|
|
YZhichen |
公司的员工的职位名称 |
Char(6) |
仓库关系模式表
|
KNO |
存储商品的库存号 |
char(2) |
KNO char(2), |
|
|
KNum |
某种商品当前的库存量 |
Char(4) |
KNum Char(4), |
|
|
KHnum |
商品的库存上限 |
Char |
KHnum Char, |
|
|
KDnum |
商品的库存下限 |
Char |
KDnum Char, |
|
|
KPnum |
盘盈盘亏数量 |
Int |
KPnum Int, |
|
|
KPerson |
与定货发生联系的供应商负债人 |
Char(8) |
KPerson Char(8), |
仓库商品关系模式
|
KNO |
存储商品的库存号 |
char(2) |
|
|
TID |
标识商品的代号 |
Char(8) |
|
|
QTY |
某商品的数量 |
int |
员工商品关系模式
|
YID |
标识公司员工的代码 |
Char(6) |
|
|
TID |
标识商品的代号 |
Char(12) |
|
|
CQTY |
销售的商品数量 |
int |
供应商商品表
|
SCodename |
某供应商的产品代号 |
Char(8) |
|
|
TID |
标识商品的代号 |
Char(8) |
|
|
GQTY |
供应商品数量 |
char(6) |
|
供应商商品员工仓库表
|
SCodename |
某供应商的产品代号 |
Char(8) |
|
|
YID |
标识公司员工的代码 |
Char(6) |
|
|
KNO |
存储商品的库存号 |
char(2) |
|
|
TID |
标识商品的代号 |
Char(8) |
|
|
WQTY |
实际的商品数量 |
int |
完整报告链接:https://download.csdn.net/download/javayoungcoolboy/90527752?spm=1001.2014.3001.5503
更多推荐




所有评论(0)