当前位置:文档之家› 商店进销存管理系统word版本

商店进销存管理系统word版本

《数据库类课程设计》系统开发报告学号:xxxxxxxxxxxxxxxxxxx姓名:xxxxxxxxxxxxxx题目:企业员工薪资管理指导教师:xxxxxx提交时间:2016年7月4日目录一绪论 (1)二员工薪资管理系统概述 (1)1、现状分析 (1)2、系统目标 (2)3、系统特点 (3)三商店进销存管理系统数据库设计 (3)1、需求分析 (3)2、数据库物理结构分析 (4)3、数据库概念结构设计 (4)3、数据库概念结构设计 (5)4、数据库逻辑结构设计 (9)四商店进销存管理系统数据库功能模块的创建代码 (12)1、数据库的创建 (12)2、表的创建 (12)3、触发器的创建 (15)4、存储过程的创建 (16)5、规则的创建 (17)五总结 (17)一绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。

提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。

基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。

基本上能满足管理员和公司的要求。

此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。

需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。

二员工薪资管理系统概述1、现状分析随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。

早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。

早期工资管理多采取纸质材料和具有较强的时间限制。

随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。

建设一个科学高效的信息管理系统是解决这一问题的必由之路。

企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。

工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。

基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

2、系统目标商店进销存管理系统实现进货入库库存和销售出库库存的详情记录,对商品的信息进行详情的记录方便查阅一目了然,同时实现查阅指点时间内的进货情况和销售情况,并通过规则限定商品的单位为‘只’、‘件’、“箱”。

3、系统特点入库和出库时自动修改对应商品的总库存;在指定时间内查询各种商品的进货数量和销售数量;通过规则限制单位。

三商店进销存管理系统数据库设计1、需求分析随着社会发展,人类的生产、生活越来越离不开信息。

谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。

信息产业正在成为一个国家的支柱。

数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。

只有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。

数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响到系统的效率以及实现的结果。

合理的数据库结构设计可以提高数据库存储效率,保证数据的完整性和一致性,让系统具有较快的响应速度。

根据对商店进销存管理系统的管理内容和数据流程的分析,设计数据项和数据结构如下:商品类别:类别号、类别名供应商:供应商编号、供应商名称、地址、联系电话业务员:业务员编号、省份证号、姓名、性别、联系电话商品信息:商品编号、商品名称、单价仓库信息:仓库编号、名称、电话、地址入库:仓库编号、商品编号、入库数量、入库时间出库:仓库编号、商品编号、出库数量、出库时间库存:仓库编号、商品编号、供应商编号、商品类别、商品数量转库:转出仓库编号、转入仓库编号、商品编号、数量、时间2、数据库物理结构分析2.1 设计策略由于该系统主要用于商店的商品管理,其中商品的进货、入库、出库、销售,商品的增删减是主要功能,所以应用程序主要就是实现这几个功能。

2.2 系统总体结构图3、数据库概念结构设计随着社会发展,人类的生产、生活越来越离不开信息。

谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。

信息产业正在成为一个国家的支柱。

数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。

只有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。

数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响到系统的效率以及实现的结果。

合理的数据库结构设计可以提高数据库存储效率,保证数据的完整性和一致性,让系统具有较快的响应速度。

根据对商店进销存管理系统的管理内容和数据流程的分析,设计数据项和数据结构如下:商品类别:类别号、类别名供应商:供应商编号、供应商名称、地址、联系电话业务员:业务员编号、省份证号、姓名、性别、联系电话商品信息:商品编号、商品名称、单价仓库信息:仓库编号、名称、电话、地址入库:仓库编号、商品编号、入库数量、入库时间出库:仓库编号、商品编号、出库数量、出库时间库存:仓库编号、商品编号、供应商编号、商品类别、商品数量转库:转出仓库编号、转入仓库编号、商品编号、数量、时间3、数据库概念结构设计这一设计阶段是在需求分析的基础上而进行的,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。

概念结构的主要特点是:(1).能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。

是对现实世界的一个真实模型。

(2).易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。

(3).易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。

(4).易于向关系、网状、层次等各种数据模型转换。

概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

根据上面的设计规划出的实体描述E-R图如下面各图所示。

E-R(Entity-Relationship),用来描述实现世界的概念模型。

E-R图提供了表示实体型,属性和联系的方法。

实体型:用矩形表示,矩形框内写明试题名。

属性:用椭圆表示,并用无向边将其与相应的实体联系起来。

图3-01 商品类别E-R图图3-02 供应商E-R图图3-03 业务员信息E-R图图3-04商品信息E-R 图图3-05仓库信息E-R 图图3-06库存E-R 图图3-07 入库E-R 图图3-08 出库E-R 图图3-09 转库E-R 图联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n,或m :n )。

本系统实体和实体之间的关系E-R 图,如图3-10所示:图3-10 实体之间的关系E-R 图4、数据库逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

[4]从理论上讲,逻辑结构应该选择最适于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。

设计逻辑结构时一般要分三步进行:(1).将概念结构转换为一般的关系、网状、层次模型;(2).将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3).对数据模型进行优化。

根据系统的使用以及实现功能的需求分析,在SQL SERVER 2008数据库系统设计了以下几个数据表:具体分析已在上面的E-R图分析好了。

下面是各个表的详细设计:商品类别(category):供应商(supplier):业务员(salesman):商品信息(goods):仓库信息(warehouse):库存(replenish):入库(get):出库(put):转库(transfer):四商店进销存管理系统数据库功能模块的创建代码1、数据库的创建create database shopmanageDBonprimary(name=stop,filename='E:\study\SQL SERVER\综训项目\stopDB\shopDB.mdf',size= 4,maxsize= 10,filegrowth= 1)log on(name=stoplog,filename='E:\study\SQL SERVER\综训项目\stopDB\stoplog.ldf',size= 2,maxsize= 4,filegrowth= 1)2、表的创建创建category表create table Category(CategoryID Char(8)not null primary key,CategoryName varchar(20)not null)创建supplier表create table supplier(supplierID char(8)not null primary key, supplierName varchar(20)not null,address varchar(50),phone char(11))创建salesman表create table salesman(salesmanID char(8)not null primary key,IDcard char(18)not null,salesmanName varchar(10)not null,sex bit NOT NULL,PHONE CHAR(11))创建goods表use shopmanageDBgocreate table goods(goodsID char(8)not null primary key,goodsName varchar(10)not null,unitprice money not null,categoryID char(8)not null foreign key references category(categoryID),supplierID char(8)not null foreign key references supplier(supplierID))创建warehouse表create table warehouse(warehouseID char(8)not null primary key,warehouseName varchar(10)not null,phone char(11),address varchar(50)not null)创建replanish表create table replenish(warehouseID char(8)not null foreign key referenceswarehouse(warehouseID),supplierID char(8)not null foreign key referencessupplier(supplierID)goodsID char(8)not null foreign key references goods(goodsID), amount int not null default 0 ,categoryID char(8)not null foreign key referencescategory(categoryID),primary key(warehouseID,goodsID))创建get表create table get(warehouseID char(8)not null foreign key referenceswarehouse(warehouseID),supplierID char(8)not null foreign key referencessupplier(supplierID)goodsID char(8)not null foreign key references goods(goodsID), amount int not null default 0 ,categoryID char(8)not null foreign key referencescategory(categoryID),riqi smalldatetime not null,primary key(warehouseID,goodsID))创建put表create table put(warehouseID char(8)not null foreign key referenceswarehouse(warehouseID),goodsid char(8)not null foreign key references goods(goodsid), amount int not null,riqi smalldatetime not null,primary key(warehouseID,goodsID))3、触发器的创建为入库创建触发器create trigger T_geton getfor insertasasdeclare@warehouse char(8),@supplier char(8),@goodschar(8),@category char(8),@amount int,@unit char(8),@riqismalldatetimeselect@warehouse=warehouseID,@supplier=supplierID,@goods= goodsid,@category=categoryID,@amount=amount,@unit=unit,@riqi =riqifrom insertedif exists(select goodsID from replenish where@warehouse=replenish.warehouseID and@goods=replenish.goodsID)update replenish set replenish.amount=replenish.amount+@amount where@warehouse=replenish.warehouseID and@goods=replenish.goodsIDelseinsert replenishvalues(@warehouse,@supplier,@goods,@category,@amount,@unit,@riqi)为出库创建触发器alter trigger t_puton putfor insertasdeclare@warehouse char(8),@goods char(8),@amount int,@riqismalldatetimeselect@warehouse=warehouseID,@goods=goodsid,@amount=amount, @riqi=riqifrom insertedupdate replenish set replenish.amount=replenish.amount-@amount where@warehouse=replenish.warehouseID and@goods=replenish.goodsID为转库创建触发器create trigger t_reon transferfor insertasdeclare@putID char(8),@getID char(8),@goodsID char(8),@amountint,@riqi smalldatetimeselect@putID=putID,@getid=getid,@goodsID=goodsID,@amount= amount,@riqi=riqifrom insertedinsert put values (@putID,@goodsID,@amount,@riqi)insert get values (@getID,@goodsID,@amount,@riqi)update replenish set amount=amount+amount where warehouseID= @getID and goodsid=@goodsidupdate replenish set amount=amount-amount where warehouseid= @putid and goodsid=@goodsid4、存储过程的创建同一时间段销售和进货存储过程alter proc que@time1smalldatetime,@time2smalldatetimeasselect get.goodsid,goodsName,sum(amount)as进货数量from[get]inner join goodson get.goodsid=goods.goodsIDwhere riqi between@time1and@time2group by[get].goodsid,goodsNameselect put.goodsid,goodsName,sum(amount)as销售数量from[put]inner join goodson put.goodsid=goods.goodsIDwhere riqi between@time1and@time2group by put.goodsid,goodsName5、规则的创建创建规则进行限制create rule r_unitas@unit='只'and@unit='箱'and@unit='件'goexec sp_bindrule'r_unit','get.unit'五总结在计算机飞速发展的今天,将计算机这一信息处理器应用于商店的日常管理已是大势所趋,而且这也将为商店管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。

相关主题