超市商品库存管理系统.doc_第1页
超市商品库存管理系统.doc_第2页
超市商品库存管理系统.doc_第3页
超市商品库存管理系统.doc_第4页
超市商品库存管理系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程学院数据库原理与应用课程设计论文题 目:超市商品库存理系统数据库设计学 号:09108087专业班级:计算机083姓 名:毛 维 静指导老师:邹 青完成日期:2010年1月22日摘要超市库存管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起的数据库一致性和完整性强.数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点 毕业设计代做 QQ9361235 19957666博士硕士学生研究生留学生论文代写 程序代做 软件制作 网站开发 通过查阅相关的文献资料以及网上资源,使得课题设计在继承以往传统设计优点的同时,力求融入并利用当前国际上通用的管理信息系统的思想,以实现库存信息的高效管理。本系统开发的总体任务是实现出入库中货品信息管理的集成化、信息化和自动化。存管理是企业物流系统中的重要环节,是企业实现现代化管理的基础。因此,在研究和开发企业管理系统时,大多把库存管理系统作为突破口。关键词:超市库存管理系统; 高效管理;集成化、信息化和自动化目录数据库原理与应用课程设计论文11.引言12.数据库设计12.1需求分析12.1.1 现状分析12.1.2 业务流程分析22.1.3 需求分析阶段成果22.2概念设计82.2.1 概念设计阶段的目标82.2.2 E-R图的设计82.3逻辑设计112.3.1逻辑设计阶段的目标112.3.2数据组织112.4物理设计152.4.1 物理设计目标任务152.4.2数据存储方面162.5数据库实施162.5.1 建立数据库162.5.2 数据入库162.6数据库调试与运行172.6.1调试与运行阶段的目标172.6.2 收获与体会172.6.3 存在问题与建议17参考文献19附录1 模式定义语句20附录2 子模式定义语句21附录3 触发器及存储过程语句22附录4 数据操纵验证24附录5存储过程功能验证281008级计算机科学与技术3班数据库原理与应用课程设计课程论文1. 引言 随着当今科学技术的高速发展,方便、快捷的管理手段已经成为所有管理部门的迫切要求。库存管理是企业管理的基础,能否对库存进行科学的、有效的管理,将直接影响企业其他各部门的生产运作的好坏。仓库库存管理系统是一个企业不可缺少的部分, 它的内容对于企业的决策者和管理者来说都至关重要, 它能够为用户提供充足的信息和快捷的查询手段.对于超市库存部门来说,一直以来人们使用传统人工的方式管理仓库中的各种物资设备, 这种管理方式存在着许多缺点, 另外时间一长,将产生大量的文件和数据, 这对于查找,更新和维护都带来了不少的困难.随着科学技术的不断提高, 计算机科学日渐成熟, 其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分, 使用计算机对物资信息进行管理, 具有比手工管理所无法比拟的优点.例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等.这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件.因此,开发这样一套库存管理软件成为很有必要的事情.本文结合目前小型超市的实际,全文分为目录、需求分析、概念设计、逻辑设计、物理设计,以及系统的实现等,详细说明该系统开发的全过程。在整个数据库设计过程中上采用了自上而下,逐步细化,逐步完善的原则,调试过程中记录问题以及问题涉及的诸多方面,系统思考,逐一解决。设计过程中考虑了未来的需求,易于扩充。系统具备了库存管理的基本功能,便于操作。2.数据库设计2.1需求分析 2.1.1 现状分析进行数据库系统设计,首先要清楚现阶段的需求,即需要不需要这个系统,现有条件下使用该系统的可行性分析十分重要,直接决定系统的命运。目前的许多小型超市仍然处在手工管理阶段,有诸多不便,工作量很大,且多为重复劳动,计算机技术的普及使得系统的运行障碍大大减小。需求分析很重要的一个方面在于搞清用户对于数据库系统的确切需求,所以对原有的手工阶段的操作要有足够的了解,这样可以满足最基本的需求,其次还要和用户交流,了解读者对于新的功能的要求,在弄清楚全部的业务流程之后,就可以确定需要哪些信息,以及各个实体的元素。超市库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证超市销售中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调超市经营以收到更大效益。 2.1.2 业务流程分析 超市库存管理系统主要是以先进的管理理念和计算机技术来取代原始的手工操作,在新系统开发前,通过详细的系统调查后,我们将该系统的业务流程资料都串起来作了进一步分析,帮助我们了解该系统业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除该系统不合理的部分,在新系统的基础上优化业务流程。为了更清晰地分析每一个业务功能需要输入什么样的数据资料,经过怎样的处理,得到什么样的处理结果,我们对用户进行了业务流程调查,以业务功能为单位,画出了部分调查中所涉及部门的业务流程图。 2.1.3 需求分析阶段成果1. 体会与收获通过老师给我们讲了关于业务流程图和数据流图的有关知识后,再加上两天的反复修改,在老师的指导下完成了需求分析阶段的任务,设计好了基本业务流程图和数据流图,同时也更加熟悉了超市的具体业务流程。这使得后面的数据库设计工作更加方便,需求分析十分重要,其结果是否准确反映了用户的实际需求,将直接影响后面各阶段的设计,并影响到数据是否合理和实用。同时在调查中涉及到许多的人际交流,由于平时几乎没有做过这方面的调查,开始不知从何下手,但经过这段时间的锻炼,我的人际交往能力也大大提高了。2. 业务流程图商品入库业务流程图图1商品入库业务流程图商品出库业务流程图图2 商品出库业务流程图3. 数据流图(1)顶层数据流程图图3 顶层数据流图(2)一层数据流程图图5 一层数据流图(3)二层数据流程图分别如下(分供货、库存管理、和查询):图6 二层数据流图供货图7 二层数据流图库存管理图8二层数据流图查询、报损4. 数据字典a) 数据项:系统涉及的数据项有37项 1数据项表1数据项编号数据项数据项含义数据结构别名A1-1ID出入库的唯一标识Char(30)票号A1-2商品名称唯一标识商品Char(30)A1-3规格商品的属性Char(20)A1-4助记码备注Char(50)A1-5默认价格商品的单价Char(20)A1-6供应商提供商品的厂家Char(30)A1-7管理员名唯一的标识操作员的姓名Char(12)A1-8管理员密码管理员登陆系统的密码Char(10)A1-9管理员级别管理员的级别,级别越高,管理员功能越多SmallintA1-10姓名唯一标识管理员Char(12)管理员名A1-11供应商编号唯一标识供应商Char(30)A1-12供应商名标识供应商Char(30)A1-15电话供应商电话Char(12)A1-16地址供应商地址Char(30)A1-17网址供应商厂家主页网站Char(30)A1-18邮箱供应商邮箱Char(30)A1-19入库单号入库的标识Char(20)A1-20应付金额应付给供应商的金额Char(20)A1-21实付金额实际给的金额Char(20)A1-22入库时间商品入库的时间DatetimeA1-23商品编号唯一标识商品Char(30)A1-24默认价格一种商品的单个价格Char(12)A1-25数量入库商品的数量Char(10)A1-26仓库名储存商品的仓库的名称Char(20)A1-27出库单编号商品出库标识Char(20)A1-28盘点人编号商品出库盘点人的标识Char(12)管理员名A1-29盘点人商品出库的经手人Char(20)A1-30时间盘点时间Datetime A1-31等级备注Char(30)A1-32库存数量商品在仓库中的库存数量Char(20)A1-33库存上限仓库最多可进的容量Char(12)A1-34库存下限仓库至少要求的容量Char(12)2.2概念设计在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能够更好的、更准确的用某一DBMS实现这些需求。 2.2.1 概念设计阶段的目标根据系统的具体情况,将需求分析的结果转化为概念模型,选择中层数据流图中作为设计分E-R图的出发点,再通过合并以及消除冲突和不必要的冗余,从而得到总的E-R图。 2.2.2 E-R图的设计图9 供货分ER图图10商品入库分ER图 图11 商品出库分ER图 合并各分ER图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步ER图,再消除不必要冗余,得到如下总ER图:图12 总ER图08级计算机科学与技术3班数据库原理与应用课程设计课程论文2.3逻辑设计 2.3.1逻辑设计阶段的目标 以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生了关系,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。 2.3.2数据组织1E-R图向关系模型的转换实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:表2 管理员基本信息表列名数据类型可否为空说明Anochar(8)否管理员编号Anamechar(12) 否管理员名Passwordchar(12) 否密码Levelsmallint 否级别 表3 商品信息表列名数据类型可否为空说明Gno Char(8)否商品编号Pnochar(8)否供应商编号GnameChar(50)否商品名称SpecChar(20)允许规格ShortnameChar(10)允许助记DefalutpriceChar(8)否默认价格StatusChar(8)允许等级表4 供应关系表列名数据类型可否为空说明Gnochar(8)否商品编号Snochar(8)否供应商编号QTYint允许供应数量表5 供应商信息表列名数据类型可否为空说明PnoChar(8)否供应商编号PnameChar(30)否供应上姓名PhoneChar(12)允许电话AddrChar(30)允许地址WebChar(30)允许网址EmailChar(30)允许邮箱表6 仓库基本信息表列名数据类型可否为空说明GnoChar(8)否商品编号Anochar()否管理员编号SnameChar(20)允许仓库名Amountint允许库存量UpperlimitChar(12)否库存上限LowerlimitChar(12)否库存下限表7 库存信息表列名数据类型可否为空说明Gnochar(8)否商品编号Anochar(8)否管理员编号Pnochar(8)否供应商编号Numbersint允许货物数量MoneyChar(20)允许付款金额IntimeDatetime允许入库时间表8 子模式的建立编号用户子模式(View)作用(共性:方便各类商品的查询)V-1Food_info便于查询食品类商品信息V-2Household_info便于查询家居用品类商品信息V-3Dress_info便于查询服饰类商品信息V-4Skincare_info便于查询护肤品类商品信息V_5S_Storageinfo 便于查询各仓库商品库存量信息2. 模型优化关系模式Provider、Storage、Administrator、Supply、Invtory等不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是商品关系模式(Goods表)仓库信息表(Storage表)中存在着一些不应该有的数据冗余,现将模型优化,其结果如下:Goods(Gno,Pno,Gname,Spec,shortname,Defalutprice,Meno).Storage(Gno,Ano,Sname,Upperlimit,Lowerlimit)3数据处理描述超市商品库存管理系统的总体功能(如下图)。总体功能分为四大功能模块:(1) 入库管理。(2) 库存管理。(3) 查询管理系统功能模块图如下:图12 系统功能模块图2.4物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为了一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计,这也就是物理设计阶段的目标。2.4.1 物理设计目标任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。希望得到设计优化的物理数据库结构,使得数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。为此,首先对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。在物理设计阶段主要的任务包括:(1)为关系模式选择存取方法(2)设计关系、索引等数据库文件的物理结构存取方法的选择有索引存取方法的选择、聚簇存取方法的选择以及HASH存取方法的选择。确定数据库的存储结构主要是确定数据的存放位置与确定系统配置。2.4.2数据存储方面由于基本表Goods,Provider的主码Gno,Pno经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,因此在两个属性上建立唯一性索引。2.5数据库实施2.5.1 建立数据库1)建立数据库create database 超市库存管理系统;2)建立表共有4张基本表,包括供应商信息表Provider、商品信息表Goods、管理员信息表Administrator和仓库信息表Storage,详细数据定义见附录13)建立视图为了方便管理员的查询共建立了4个视图,在系统中需要通过密码来进行验证,进入后进行不同权限的查询。视图分别是Food_info,Household_info,Dress_info,Skincare_info,S_Storageinfo分别进行超市内食品、家居用品、服饰类、护肤用品等四类不同商品的查询及各仓库商品库存量信息查询。详细定义见附录24)建立触发器 为了方便管理员对超市商品进行等级分类,建立触发器S3,根据商品价格的不同当插入新的商品时按照其价格,系统自动将其分为低廉价格,中等价格,较贵商品,珍品等四个等级,同时也方便管理员对商品的库存处理。详细定义见附录3.5)建立存储过程每个业务都通过存储过程来实现,共有7个存储过程,详细定义见附录3.2.5.2 数据入库数据库三分在技术,七分在数据,所以基础数据非常重要。数据可以检验数据库的正确性和性能,依此来进行数据库的调试工作,主要步骤如下:1) 向各个表中录入数据,同时要注意完整性约束和逻辑上要成立2) 向建立好的数据库中导入数据,先导入基本表,然后导入关系表,成功证明导入后的数据表可以打开,导入失败要检验是否符合完整性和逻辑要求。2.6数据库调试与运行2.6.1调试与运行阶段的目标调试时候要逐步调试,先检查基本表和视图,然后检查存储过程和触发器以检验业务能否正常完成,出现问题做好记录,填到设计的错误表中。1) 检查基本表和视图,详细内容见附录42) 检查存储过程,具体过程见附录52.6.2 收获与体会在进行课程设计的一周里。我从做课程设计的过程中感触颇多。在这过程中使我对超市商品库存管理系统有了深入的了解。在做课程设计的时候不断学习数据库,通过实践使我巩固了在这之前所学到理论知识。也为我以后步入工作的岗位做了很好的铺垫。本次课程设计是我们自己出题,充分锻炼了我们发现问题、分析问题、解决问题的能力。其间老师还给我们补充了一些Word的排版知识,尽管开学的时候我们进行过这方面的培训,但是我们对这方面的知识还是太匮乏了。我以后会抽出课余时间多加强这方面的训练。以前只是记书本上关于数据库系统的相关功能,以及不同数据库系统功能之间的的对比,但这些大部分只是处在死记的基础上,没有切身实地的感触,这次实习有让我再次对SQL SERVER 2000相关功能有了更深一层的理解,比如:触发器和存储过程。 通过本次实习,我觉得最重要的是要和老师、同学之间多交流,这样会使自己的数据库系统更加的完善。最后,要特别感谢这次实习的辅导老师,他们总是耐心的为同学们答疑解惑。2.6.3 存在问题与建议 1)由于时间特别仓促,所以需求分析阶段做的不是很好,对于超市的库存管理业务还不是特别了解,这就为后面的设计带来了一定的困难。2)由于实习时间短,所以该系统治只实现了部分功能,还有待扩展,我会继续对其进行完善,使其满足用户的更多需求。19参考文献1 萨师煊 王 珊,数据库系统概论(第四版),北京:高教出版社,20062 李书琴 杨丽丽,数据库原理与应用实习指导书,信息工程学院信息系统系,20093 郑人杰 殷人昆 陶永雷,实用软件工程(第二版),北京:清华大学出版社,19974 微软公司 SQL-Server 2000 联机丛附录1 模式定义语句供应商信息表create table Provider ( Pnochar(8) primary key, Pnamechar(30), Phonechar(12), Addrchar(30), Webchar(30), Email char(30) )商品信息表create table Goods (Gno char(8) primary key,Pnochar(8), Gnamechar(50), Spec char(20), Defalutprice char(8),Status char(8) )供应关系信息表create table Supply( Pno char(8), Gno char(8), QTY int primary key(Pno,Gno), foreign key (Gno) references Goods(Gno), foreign key (Pno) references Provider(Pno)仓库管理员信息表create table Administrator (Ano char(8) primary key, Aname char(12), APassword char(12), ALevel smallint )仓库信息表create table Storage( Gno char(8), Ano char(8), Sname char(20), Amount int, Upperlimit char(12), Lowerlimit char(12) primary key(Gno,Ano), foreign key (Gno) references Goods(Gno), foreign key (Ano) references Provider(Pno)库存信息表create table Inventory( Gno char(8), Ano char(8), Pno char(8), Numbers int, Money char(20), Intime Datetime primary key(Gno,Ano,Pno), foreign key (Gno) references Goods(Gno), foreign key (Ano) references Administrator(Ano), foreign key (Pno) references Provider(Pno)附录2 子模式定义语句create view Food_infoasselect Goods.Gno,Gname,Provider.Pno,Defalutprice,Storage.Snamefrom Goods,Provider,Storagewhere Goods.Gno=101 and Goods.Gno=201 and Goods.Gno=301 and Goods.Gno=401 and Goods.Gno= 0 and Defalutprice = 11 and Defalutprice = 101 and Defalutprice = 901update Goodsset Status =珍品from Goods,insertedwhere Goods.Gno = inserted.Gno begin print商品等级rollbackendGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOcreate trigger tri_fullStorageon Storagefor Insertasdeclare Upperlimit intselect Upperlimit = Upperlimitfrom insertedif Upperlimit2吨 and Upperlimit0.5吨update Storageset Amount =未满where room.Rno = Inserted.Rnoif Upperlimit2吨 beginprint该仓库满rollbackend create procedure proc_Gpc2jh char(8) asselect distinct Gno,Gname,Defalutprice from Goodswhere Pno=2jh order by Gno create procedure proc_Ps3jh char(8)asselect distinct Sname,Upperlimit,Lowerli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论