1、超市商品进销存管理系统数据库设计杭州电子科技大学数据库课程设计课程设计手册 超市进销存管理系统数据库设计姓 名 学 号 设计小组长 其 他 设 计小 组 成 员 指 导 教 师 设 计 时 间 至 杭州电子科技大学管理学院编制引言目前,无论是超市还是公司企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。于是,进销存管理信息系统便应运而生。在工厂中,产品的进销存涉及产品原料的采购、库存、投入生产、报损,甚至有时涉及到销售,同时,对于产品也有相应的生产、库存、销售、和报损等环节。在其他非生产性单位,如超市、商店等,则主要涉及到进货、库存、销售和报
2、损4个方面。超市进销存管理的对象是很多的,广而言之,它可以包括:商业、企业超市的商品,图书馆超市的图书,博物馆超市的展品等等。在这里本文仅涉及工业企业的产品超市。超市进销存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。一、需求分析1.1处理对象及组织如下:商品:商品编号、商品名称、商品单价、生产日期、保质期、商品
3、重量、商品规格供应商:应商名称、供应商地址、供应商帐号、供应商传真、供应商电话、交货日期、订单号进销存:库存号、现有库存、最高库存、最低库存、盈亏数量、联系人(1)针对超市进销存管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出如下的需求信息:商品按类管理,所以需要有一商品类型信息。如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。需要记录供应商品信息。在涉及商品数量的地方,需要知道商品的库存地方。商品销售信息单中要包含登记商品销售数量、单价等信息。在进货信息中要包含商品供应商等信息。商品报损要有报损原因。进货、销售、报损操作要有相应信息管理员。只有管理
4、员登录之后才可以使用系统。默认的管理员不可以删除。进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。当进行进货、销售和报损操作后,能相应更新库存。(2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:商品类型信息,包括数据项有:商品信息,包括的数据项有:商品编号、商品名称、商品的的生产日期、库存量等。商供应商信息,包括供应商号、供应商名称、联系电话等。进货信息,包括进货商品号、数量、规格、单价等。销售信息,包括销售商品、数量、单价等。报损信息,包括报损商品、数量、原因、登记时间等。员工信息,包括员工号、姓名、职称等1.2信息处理及系统功能该系统由商品
5、信息管理模块,员工信息管理模块,供应商信息管理模块,仓库信息管理模块等可以完成商品的进销存和查询,更改等的基本操作。并根据客户的要求完善系统的功能需求。系统功能有:(1)商品信息的管理包括商品基本信息的新建、修改和删除,商品的编号、商品名称、商品规格等(2)供货商信息管理:包括供货商信息的新建、修改和删除和供应商的名称、供应商代号、供应商地址等。(3)员工信息管理:系统管理员的添加、删除和修改密码和员工姓名、性别、职称、工号等。(4)仓库信息管理:仓库号、库存商品号、商品数量等1.3数据库系统开发环境数据库系统开发环境需求决定以windows XP为开发平台,采用选择功能强大的Microsof
6、t SQL Server为开发工具。1.4该业务的流程图通过对超市管理系统的要求和分析、处理,弄清楚了进销存各个系统的环节需求。清楚了环节所需要的信息内容、流向、处理、提供信息的信息表形态等,把分析系统的相关用“业务流程图”表示出来。具体分为进货业务,销售业务,业务流程图如下:以下是某超市管理系统的业务流程的分析(1)某超市管理系统进货业务流程图为(2)某超市管理系统销售业务流程图图12为某超市进销存管理系统的销售业务流程图1.5某超市管理系统数据流i程图分析数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。根据上面业务
7、流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了超市销售管理系统的顶层数据流程图、第二层数据流程图和第三层数据流程图。(1)某超市管理系统顶层数据流程图图13为某超市管理系统顶层数据流程图上图是超市管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流,在顶层数据流程图中,把超市管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。(1) 第一层数据流程确定系统的主要处理功能,可以将系统分为进货管理、库存管理、销售管理等几部分。再确定各个输入和输出的数据流的以
8、及与之相关的数据结构,为各个数据流、报表命名并编码,从而得到超市销售进销存系统的第一层数据流程图,如图上图所示(2)第二层数据流程图再将第一层数据流程图分解就可得到第二层流程图。其中某些数据项处理可分解为多个处理过程。在本系统中有销售模块、进货管理。每一部分都可以分解为第二层流程图。具体的分解情况如下(5)数据字典数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一
9、个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容数据项如表一数据项编号数据项名称备注类型及宽度完整性约束I1TID标识商品的代号Char(8)I2Tname某商品的名称Char(14)I3TPrice某商品的价值IntI4Tproducedate某商品生产的时间Char(6)I5TKeepdate某商品的保存时间Char(2)I6TWeight某商品的重量Char(8)I7TProducename某商品的生产公司Char(14)I8TNorms某商品长宽Char(6)I9SName某商品的公司名称Char(12)I10SAddress某商品生产的地方Char(1
10、6)I11SCodename某供应商的产品代号Char(8)I12SFax与供应商的传真联系方式Char(11)I13STele联系供应商的电话方式Char(11)I14SDate定货单位要求的供货日期Char(12)I15SOrder发出订单的单据号Char(8)I16YID标识公司员工的代码Char(6)I17Yname公司员工的姓名Char(6)I18YSex公司员工的性别Char(1)I19YAge公司员工的年龄Char(2)I20YZhichen公司的员工的职位名称Char(6)I21KNO存储商品的库存号char(2)I22KNum某种商品当前的库存量Char(4)I23KHnum
11、商品的库存上限CharI24KDnum商品的库存下限CharI25KPnum盘盈盘亏数量IntI26KPerson与定货发生联系的供应商负债人Char(8)二、概念设计2.1.1 分E-R图建立根据第二层数据流程图得到三个分E-R图图21为某超市进货的ER图2.1.2 全局/整体E-R图通过各个分E-R图之间的联系,合成全局E-R图。由于在做局部ER图时,只是针对局部的ER图考虑,导致各个ER图之间有很多不一致的地方,造成在合并局部ER图生成全局ER图时有很多的冲突发生。而在编写商品信息时,考虑商品的数目很多,如果只用数字标号不好区分也不容易查询,就用的字母加数字来编号,所以在合并的时候造成的
12、冲突,最后把订单中的商品编号也改成了字符型的,消除了冲突。如图下所示图24为全局/整体E-R图三、逻辑设计2.2.1 建立关系模式ER图转换为关系模型实际上就是要将实体性、实体的属性和实体性之间的联系转换为关系模式,这种转换一般遵循如下规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型见的联系则有以下不同的情况:(1)一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模
13、式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个1:n联系可以转换为一个独立的关系模式看,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码味n端实体的码。(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系吗的一部分。根据以上规则将本系统的ER图转换为关系模式(关系的码用下划线标出)有一个超市管理系统数据库,包括T、S、Y、K、kt、TY、SK、TSYK个关系模式:T(TID,Tname,TPr
14、ice,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)1. 商品信息表T由商品编号(TID)、商品名称(Tname)、商品单价(TPrice)
15、、生产日期(Tproducedate)、保质期(TKeepdate)、商品重量(TWeight)、商品规格(TNorms)组成;2. 供应商信息表S由供应商名称(SName)、供应商地址(SAddress)、供应商帐号(SCodename)、供应商传真(SFax)、供应商电话(Stele)、交货日期(SDate)、订单号(SOrder);3. 员工信息表Y由员工编号(YID)、员工姓名(YName)、员工的性别(YSex)、员工的年龄(YAge)、员工的职称(YZhichen);4. 库存信息表K由库存号(KNo)现有库存(KNum)、最高库存(KHnum)、最低库存(KDnum)、盈亏数量(
16、KPnum)、联系人(KPerson)组成;5. KT表是由存储商品的库存号(KNO),标识商品的代号(TID),某商品的数量(QTY)组成;6. YT由标识公司员工的代码(YID ),标识商品的代号(TID),销售的商品数量(CQTY)组成;7. ST供应商商品表由某供应商的产品代号(SCodename),标识商品的代号(TID),8. TSYK供应商商品员工仓库表由商品编号(TID)、供应商名称(SName)、库存号(KNo)、员工编号(YID)实际的商品数量(WQTY)组成;商品关系模式表数据项名称类型长度(精度)完整性约束备注TIDChar8NOT NULL标识商品的代号Primary
17、 keyTnameChar14NOT NULL某商品的名称TPriceIntNOT NULL某商品的价值TproducedateChar6NOT NULL某商品生产的时间TKeepdateChar2NOT NULL某商品的保存时间TWeightChar8NOT NULL某商品的重量TNormsChar12某商品长宽TProducenameChar14NOT NULL某商品的生产公司供应商关系模式表数据项名称类型长度(精度)完整性约束备注SCodenameChar8NOT NULL某供应商的产品代号Primary keySNameChar12NOT NULL某商品的公司名称SAddressCha
18、r16NOT NULL某商品生产的地方SFaxChar11NOT NULL与供应商的传真联系方式STeleChar11NOT NULL联系供应商的电话方式SDateChar12NOT NULL定货单位要求的供货日期SOrderChar8NOT NULL发出订单的单据号员工关系模式表数据项名称类型长度(精度)完整性约束备注YIDchar6NOT NULL标识公司员工的代码primary keyYnamechar6NOT NULL公司员工的姓名YSexchar1NOT NULL公司员工的性别YAgechar2NOT NULL公司员工的年龄YZhichenchar6NOT NULL公司的员工的职位名
19、称仓库关系模式表数据项名称类型长度(精度)完整性约束备注KNOchar2NOT NULL存储商品的库存号primary keyKNumChar4NOT NULL某种商品当前的库存量KHnumCharNOT NULL商品的库存上限KDnumCharNOT NULL商品的库存下限KPnumIntNOT NULL盘盈盘亏数量KPersonChar8NOT NULL与定货发生联系的供应商负债人仓库商品关系模式数据项名称类型长度(精度)完整性约束备注KNOchar2NOT NULL存储商品的库存号TIDchar8NOT NULL标识商品的代号QTYintNOT NULL某商品的数量员工商品关系模式数据项
20、名称类型长度(精度)完整性约束备注YIDChar6NOT NULL标识公司员工的代码TIDChar12NOT NULL标识商品的代号CQTYintNOT NULL销售的商品数量供应商商品表数据项名称类型长度(精度)完整性约束备注SCodenameChar8NOT NULL某供应商的产品代号TIDChar8NOT NULL标识商品的代号GQTYChar6NOT NULL供应商品数量供应商商品员工仓库表数据项名称类型长度(精度)完整性约束备注SCodenameChar8NOT NULL某供应商的产品代号YIDChar6NOT NULL标识公司员工的代码KNOchar2NOT NULL存储商品的库存
21、号TIDChar8NOT NULL标识商品的代号WQTYintNOT NULL实际的商品数量四、物理结构设计通常关系数据库物理设计的内容主要包括:(1)为关系模式选择存取方法;(2)设计关系、索引等数据库文件的物理存储结构。物理设计的方法:(1)首先对要运行的事物进行详细分析,获得选择物理结构设计所需要的参数。(2)其次,要充分了解所用RDBMS的内容特征,特别是系统提供的存取方法和存取结构。建立索引的原则:(1)如果一个(或)一组属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或则会索引);(2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;
22、(3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;五、数据实施和维护1. 创建表(1)创建数据库create database 超市管理系统数据库(2)创建基本表create table T(TID Char(8) primary key,TProducename Char(14) NOT NULL,Tname Char(14) NOT NULL,TPrice Int NOT NULL,Tproducedate Char(6) NOT NULL, TKeepdate Char(2) NOT NULL,TWeight Char(8) NOT NUL
23、L,TNorms Char(12),)create table S(SCodename Char(8) primary key,SName Char(12) NOT NULL,SAddress Char(16) NOT NULL,SFax Char(11) NOT NULL,STele Char(11) NOT NULL,SDate Char(12) NOT NULL,)create table Y(YID Char(6) primary key,Yname Char(6) NOT NULL,YSex Char(1) NOT NULL,YAge Char(2) NOT NULL,YZhiche
24、n Char(6) NOT NULL,)create table K(KNO char(2) primary key,KNum Char(4) NOT NULL,KHnum Char(112) NOT NULL,KDnum Char(12) NOT NULL,KPnum Int NOT NULL,KPerson Char(8) NOT NULL,)create table TY(KNO char(8) NOT NULL,TID Char(8) NOT NULL,QTY char(6) NOT NULL,)create table ST(SCodename Char(8) NOT NULL,TI
25、D Char(8)NOT NULL,GQTY char(6)NOT NULL,)create table KT(KNO char(2)NOT NULL,TID Char(8)NOT NULL,QTY int NOT NULL,)create table TSYK(SCodename Char(8) NOT NULL,YID Char(6) NOT NULL,KNO char(2)NOT NULL,TID Char(8)NOT NULL,WQTY int NOT NULL,)(3)创建视图购买商品信息视图CREATE VIEW VIEW_VTASSELECT TID,Tname,TPriceFR
26、OM T供应商信息视图CREATE VIEW VIEW_VSASSELECT SName,SAddress,SCodename,Stele,SDateFROM S仓库信息视图CREATE VIEW VIEW_VCASSELECT KNO,KNum,KHnum,KDnumFROM K员工信息视图CREATE VIEW VIEW_DHASSELECT Yname,Yage,YzhichenFROM YWHERE YID=P006(4)创建触发器在商品信息表上创建触发器提醒信息管理员相应的操作create trigger tri_delete_teleon Tfor delete asprint 请
27、在仓库中删除此商品在仓库信息表上建立触发器create trigger tri_S_updateon Kfor update asif (select TName from Twhere TID = F650) = 0print 此商品存放仓库已满在供应商信息表上建立触发器create trigger tri_update_Steleon Sfor updateas if (select TIDfrom Twhere TID= I112)100print 存货不足 请及时进货(5) 建立索引Create unique index IX_TID on T(TID);Create unique i
28、ndex IX_SCodename on S(SCodename);Create unique index IX_YID on Y(YID);Create unique index IX_KNO on K(KNO);(6) 建立储存过程1、商品信息查询的存储过程:create procedure T_TT_ID char(15),T_name char(30),T_Pro char(18)asselect *from Twhere TID = T_ID2、员工信息查询的存储过程:create procedure Y_YY_ID Char(16),Y_name Char(16),Y_Sex Char(1),Y_Age Char(12),Y_Zhichen Char(6)asselect *from Ywhere YID= Y_ID3、供应商信息查询存储过程:create procedure S_SS_Codename Char(8),S_Name Char(12),S_Address Char(16),S_Fax Char(11),S_Tele Char(11)asselect *from S
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1