《商店进销存管理系统(共21页).docx》由会员分享,可在线阅读,更多相关《商店进销存管理系统(共21页).docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库类课程设计系统开发报告学 号:xxxxxxxxxxxxxxxxxxx 姓 名: xxxxxxxxxxxxxx 题 目: 企业员工薪资管理 指导教师: xxxxxx 提交时间: 2016年7月4日 专心-专注-专业 目录一 绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于SQLserver数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资
2、进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。 此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。二 员工薪资管理系统概述1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的
3、迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、
4、规范化、自动化。2、系统目标 商店进销存管理系统实现进货入库库存和销售出库库存的详情记录,对商品的信息进行详情的记录方便查阅一目了然,同时实现查阅指点时间内的进货情况和销售情况,并通过规则限定商品的单位为只、件、“箱”。 3、系统特点 入库和出库时自动修改对应商品的总库存;在指定时间内查询各种商品的进货数量和销售数量;通过规则限制单位。三 商店进销存管理系统数据库设计1、需求分析 随着社会发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。只
5、有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响到系统的效率以及实现的结果。合理的数据库结构设计可以提高数据库存储效率,保证数据的完整性和一致性,让系统具有较快的响应速度。根据对商店进销存管理系统的管理内容和数据流程的分析,设计数据项和数据结构如下:商品类别:类别号、类别名供应商:供应商编号、供应商名称、地址、联系电话业务员:业务员编号、省份证号、姓名、性别、联系电话商品信息:商品编号、商品名称、单价仓库信息:仓库编号、名称、电话、地址入库:仓库编号、商品编号、入库数量、入
6、库时间出库:仓库编号、商品编号、出库数量、出库时间库存:仓库编号、商品编号、供应商编号、商品类别、商品数量转库:转出仓库编号、转入仓库编号、商品编号、数量、时间2、数据库物理结构分析2.1 设计策略由于该系统主要用于商店的商品管理,其中商品的进货、入库、出库、销售,商品的增删减是主要功能,所以应用程序主要就是实现这几个功能。2.2 系统总体结构图商店进销存管理系统商品进销存模块仓库信息模块业务员信息模块商品信息模块3、数据库概念结构设计随着社会发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理
7、工具数据库对于信息技术的重要性,正日益得到人们的重视。只有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响到系统的效率以及实现的结果。合理的数据库结构设计可以提高数据库存储效率,保证数据的完整性和一致性,让系统具有较快的响应速度。根据对商店进销存管理系统的管理内容和数据流程的分析,设计数据项和数据结构如下:商品类别:类别号、类别名供应商:供应商编号、供应商名称、地址、联系电话业务员:业务员编号、省份证号、姓名、性别、联系电话商品信息:商品编号、商品名称、单价仓库信息:仓库编号
8、、名称、电话、地址入库:仓库编号、商品编号、入库数量、入库时间出库:仓库编号、商品编号、出库数量、出库时间库存:仓库编号、商品编号、供应商编号、商品类别、商品数量转库:转出仓库编号、转入仓库编号、商品编号、数量、时间3、数据库概念结构设计这一设计阶段是在需求分析的基础上而进行的,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。概念结构的主要特点是:(1).能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2).易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
9、(3).易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4).易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。根据上面的设计规划出的实体描述E-R图如下面各图所示。 E-R(Entity-Relationship),用来描述实现世界的概念模型。E-R图提供了表示实体型,属性和联系的方法。实体型:用矩形表示,矩形框内写明试题名。属性:用椭圆表示,并用无向边将其与相应的实体联系起来。商品类别类别名类别编号图3-01商品类别E-R图供应商联系电话地址供应商名称供应商编号图3-02供应商E-R图业务员姓名性别
10、身份证号码联系电话业务员编号图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图,
11、如图3-10所示:仓库入库供应商出库业务员 M N M N供应商储存时间1储存数量商品类别1N商品图3-10 实体之间的关系E-R图4、数据库逻辑结构设计 概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。4从理论上讲,逻辑结构应该选择最适于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。设计逻辑结构时一般要分三步进行:(1).将概念结构转换为一般的关系、网状、层次模型;(2).将转换来的关系、网状、层次模型向特定DBMS支持下的数据模
12、型转换;(3).对数据模型进行优化。根据系统的使用以及实现功能的需求分析,在SQL SERVER 2008数据库系统设计了以下几个数据表:具体分析已在上面的E-R图分析好了。下面是各个表的详细设计:商品类别(category):字段类型是否为空值约束说明CategoryIDChar(8)否主键商品类别编号CategoryNameVarchar(20)否类别名称供应商(supplier):字段类型是否为空值约束说明SupplierIDChar(8)否主键供应商编号SupplierNameVarchar(20)否供应商名称AddressVarchar(50)供应商地址PhoneChar(11)供应
13、商电话业务员(salesman):字段类型是否为空值约束说明SalesmanIDChar(8)否主键业务员编号IDcardChar(18)否身份证号码SalesmanNameVarchar(10)否姓名SexBit否性别PhoneChar(11)电话商品信息(goods):字段类型是否为空值约束说明GoodsIDChar(8)否主键商品编号GoodsNameVarchar(10)否名称UnitPriceMoney否商品单价仓库信息(warehouse):字段类型是否为空值约束说明WarehouseIDChar(8)否主键仓库编号NameVarchar(10)否名称PhoneChar(11)否电
14、话AddressVarchar(50)否地址库存(replenish):字段类型是否为空值约束说明WarehouseIDChar(8)否外键,warehouse表仓库编号GoodsIDChar(8)否外键,参照goods表商品编号SupplierIDChar(8)否外键参照供应商编号AmountInt否默认为零商品数量入库(get):字段类型是否空值约束说明WarehouseIDChar(8)否外键参照仓库编号GoodsIDChar(8)否外键参照商品编号CategoryIDChar(8)否外键参照商品类别号AmountInt否入库数量Date Smalldatetime否入库时间出库(put
15、):字段类型是否空值约束说明WarehouseIDChar(8)否外键参照仓库编号GoodsIDChar(8)否外键参照商品编号SupplierIDChar(8)否外键参照供应商编号AmountInt否出库数量DateSmalldatetime否出库时间转库(transfer):字段类型是否空值约束说明PutIDChar(8)否外键参照出库编号GetIDChar(8)否外键参照入库编号GoodsIDChar(8)否外键参照商品编号AmountChar(8)否商品数量DateSmalldatetime否时间四 商店进销存管理系统数据库功能模块的创建代码1、数据库的创建create databas
16、e shopmanageDBonprimary(name = stop,filename = E:studySQL SERVER综训项目stopDBshopDB.mdf,size = 4,maxsize = 10,filegrowth = 1)log on (name = stoplog,filename = E:studySQL SERVER综训项目stopDBstoplog.ldf,size = 2,maxsize = 4,filegrowth = 1)2、表的创建创建category表create table Category(CategoryID Char(8) not null pr
17、imary 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
18、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 foreig
19、n 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 references warehouse(warehouse
20、ID),supplierID char(8) not null foreign key references supplier(supplierID)goodsID char(8) not null foreign key references goods(goodsID),amount int not null default 0 ,categoryID char(8) not null foreign key references category(categoryID),primary key(warehouseID,goodsID) 创建get表create table get (wa
21、rehouseID char(8) not null foreign key references warehouse(warehouseID),supplierID char(8) not null foreign key references supplier(supplierID)goodsID char(8) not null foreign key references goods(goodsID),amount int not null default 0 ,categoryID char(8) not null foreign key references category(ca
22、tegoryID),riqi smalldatetime not null,primary key(warehouseID,goodsID) 创建put表create table put(warehouseID char(8) not null foreign key references warehouse(warehouseID),goodsid char(8) not null foreign key references goods(goodsid),amount int not null ,riqi smalldatetime not null,primary key(warehou
23、seID,goodsID)3、触发器的创建为入库创建触发器create trigger T_geton get for insertasasdeclare warehouse char(8),supplier char(8),goods char(8),category char(8),amount int,unit char(8),riqi smalldatetimeselect warehouse = warehouseID ,supplier = supplierID, goods = goodsid ,category = categoryID, amount = amount ,un
24、it = unit, riqi = riqifrom insertedif exists(select goodsID from replenish where warehouse = replenish.warehouseID and goods = replenish.goodsID)update replenish set replenish.amount = replenish.amount + amountwhere warehouse = replenish.warehouseID and goods = replenish.goodsIDelseinsert replenishv
25、alues (warehouse,supplier,goods,category,amount,unit,riqi)为出库创建触发器alter trigger t_puton putfor insertasdeclare warehouse char(8),goods char(8),amount int,riqi smalldatetimeselect warehouse = warehouseID , goods = goodsid , amount = amount , riqi = riqifrom insertedupdate replenish set replenish.amou
26、nt = replenish.amount - amountwhere warehouse = replenish.warehouseID and goods = replenish.goodsID为转库创建触发器create trigger t_reon transferfor insertasdeclare putID char(8),getID char(8),goodsID char(8),amount int,riqi smalldatetimeselect putID = putID,getid = getid,goodsID = goodsID,amount = amount,r
27、iqi = 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
28、、存储过程的创建同一时间段销售和进货 存储过程alter proc quetime1 smalldatetime,time2 smalldatetimeasselect get.goodsid,goodsName,sum(amount) as 进货数量 from get inner join goods on get.goodsid = goods.goodsID where riqi between time1 and time2group by get.goodsid ,goodsNameselect put.goodsid,goodsName,sum(amount) as 销售数量fro
29、m put inner join goods on put.goodsid = goods.goodsID where riqi between time1 and time2group by put.goodsid,goodsName5、规则的创建创建规则进行限制create rule r_unitasunit = 只 and unit = 箱 and unit = 件 goexec sp_bindrule r_unit,get.unit五 总结 在计算机飞速发展的今天,将计算机这一信息处理器应用于商店的日常管理已是大势所趋,而且这也将为商店管理带来前所未有的改变,它可以带来意想不到的效益,
30、同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为商店管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:极大地提高了商店工作人员的工作效率,大大减少了以往入出存流程繁琐、杂乱、周期长的弊端;基于商店管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入;商店管理的操作自动化和信息的电子化,全面提高了商店的管理水平。 经过市场调查研究、程序的设计和编制,系统基本开发完毕。其功能基本符合小型商店用户需求,能够完成库存管理、收银管理等商店的基本要求,并提供部分系统维护功能,使用户能方便地进行数据备份和恢复、
31、数据删除等工作。对于数据的一致性的问题也通过程序进行了有效的解决。 我们上课时学的数据库系统知识都是较为浅显的,而本次项目设计开发需要较为专业的理论素养,于是,我们花大力气学习了管理信息系统的流程、编程、测试等知识。经过这一阶段的学习,我们的专业知识有了更大的提高,我们的自学能力也得到了相应的加强,我们受益匪浅。 通过小组的配合,我们的团队协作能力得到了增强,懂得了分工协作,明白了共同协商的道理,我们在工作中加强了人际交往的能力,更加深刻懂得了如何通过团结协作,将我们的所学知识全部运用到实际中,相信在以后的学习生活中会对我们的事业有更好的促进作用。 本次课程设计我们小组共同努力,克服种种困难,
32、得到了以下的收获: (1) 重温管理信息系统的整体开发和调试过程,亲身体验了从一个理论学习者到实践者的转变,在一个新的高度领会了系统开发的经过和操作。在策划统筹阶段,我们充分了解商店进销存管理信息系统的现状,尽可能把可以预见的困难都罗列出来; (2) 在具体操作阶段,我们竭尽全力,在最短的时间里学会所需的工具和知识;在完善阶段,我们做到精益求精,尽可能地把策划的目标运行实现。在研发的过程中,我们小组面对困难不屈不挠,面对资源匮乏的困境,我们通过各种途径搜寻资料,互联网、图书馆、专业书籍等等都成为我们获取资料的源泉。 为我们的系统开发提供了便利的条件。培养了我们的自学能力。 总而言之,本次综训课
33、程设计,从一个全新的高度培养了我们的团体协作能力、编程能力、整体规划能力和理论联系实际的能力,给我们的最大的收获就是让我们明白如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个设计开始,无论遇到什么困难,我们都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知受益匪浅,相信此次的设计锻炼会对我们将来的工作打下坚实的基础。 魏孟欢:通过这次课程设计,我不仅巩固了数据库课程中所学的各种关于Sql的知识和技巧,更重要的是我学会和实践了如何使用所学知识设计可行的,符合要求的没有冗余的数据库表。这个是课程学习中比较缺乏的经验。此外还提高了自己使用sq
34、lserver的能力,从数据库的设计和实施中我巩固了E-R图的绘制。这次课程设计不同以往的地方就在于这是一个小组独立设计项目,工程化的方法和技术。借鉴了很过原来的成功项目的实践经验。今后的实践和工作都应始终遵循工程化原则,以保证任务的准确和高效完成。张经纬:在数据库专业课的学习中,我们班的学生在陆老师的带领下进行了数据库课程设计实践学习。在这之前,我们对数据库基础这门课程学习了一个学期,我对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,通过此次课程设计,对于数据库的设计方法我有了基本的了解,在编写程序的过程中,我也发现了自己的很多不足,比如平日程序编写量少,课后巩固知识少,使得漏洞百出,错误很多。修改数据库都出了些小差错。然而在队长帮助下,终于修改正确了。在以后的学习过程中要注意这些问题,多向他人学习,向队长学习,努力取长补短。 总之,这次数据库课程设计对我的帮助很大,也使得将来在毕业设计中,对数据的处理,提供了一个优秀的方案。