版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京航空航天大学机械工程及自动化学院仓库管理系统数据库设计《数据库原理及应用》大作业班级:学号:姓名:2013-12-27
目录摘要 4关键字 4引言 51.需求分析 62.2引言 62.2需求分析阶段的目标与任务 72.2.1处理对象 72.2.2处理功能及要求 72.2.3.安全性和完整性要求 82.3需求分析阶段性成果 82.3.1体会与收获 82.3.2仓库管理系统业务流程图 92.3.3仓库管理系统数据流程图 92.3.4仓库管理系统数据字典 132.3.5处理逻辑描述 153.概念设计阶段 163.1引言 163.2任务与目标 163.3阶段结果 174.逻辑设计阶段 204.1逻辑设计的任务与目标 204.2数据组织 204.2.1将E-R图转换为关系模型 204.2.2数据库模式定义 224.2.3用户子模式的定义 254.3数据处理 265.物理设计阶段 275.1物理设计阶段的目标与任务 275.2数据存储方面 275.3系统功能模块 275.3.1货物基本信息的查询与更新模块 276.数据库实施阶段 296.1建立数据库、数据表、视图、索引 296.1.1建立数据库 296.1.2建立数据表 296.1.3建立视图 326.1.4建立索引 327.心得体会 33摘要随着计算机技术的发展,计算机管理已越来越多地运用到了各个领域。在现代企业的各个环节已离不开计算机了。各种各样的管理软件也应运而生。企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物料种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,如果依旧采取人工管理,手工录入,不但耗费人力,浪费资源,而且效率低下,直接影响企业的生产活动,阻碍的企业发展进程。因此仓库管理必须编制一套仓库管理信息系统,实现计算机化操作,不但提高效率,而且能保证管理的安全性。基于这一问题,开发了仓库管理系统。本文通过作者设计和开发了一个普通企业仓库管理系统的实践,阐述了仓库管理系统所应具有的基本功能和实现。关键字仓库管理;数据流;关系模式;引言随着社会生产力的快速发展,企业规模的扩大,竞争的日益激烈化,企业要想在这样的背景下谋求发展壮大,就必须找到一个快速,高效,低成本的生产模式,在竞争中占据上游。仓库管理作为每个企业,工厂的基础组成部分,必须首先对其采取措施,提高管理效率,打好坚实的基础。如今,计算机技术发展迅速,并以其快速,高效,精准的优点逐渐深入到各个领域。企业仓库的零件数量,种类都极其繁杂,如果人工管理,不仅效率低下,而且容易出错,带来损失。所以,引进计算机技术对企业仓库进行管理十分必要。因此,需要对仓库管理进行总体需求分析,实际考察,采用数据库技术开发生成一套适应现代化高效率生产模式的仓库数据库管理系统。这样能极大的方便管理员对仓库实施管理,减少人力投入,降低成本,提高效率,优化仓库管理环境,实现绿色生产。本文以仓库管理系统的开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计、以及系统的实现等过程。设计过程清晰,过程详细,系统可读性好,易于维护,更新,安全性好。1.需求分析2.2引言仓库管理主要用来管理客户、供应商、仓库及货物,其中的商品进货、销售和库存管理复杂繁琐,需要耗费大量的时间和人力对这些数据进行统计和分析,这是一项相当大的工程。尤其在当商品种类繁多的情况下,传统的人工管理方式存在基本资料保存与维护困难,管理者需要加强成本管理和收入管理,通过提高服务水平来提升企业形象。他们对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,从而进行仓库管理系统的开发,以适应今天高速运转的全球经济化的竞争。进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了五个部分:物品发放、物品出库、货物管理、信息查询、人员管理。能够实现以下功能:eq\o\ac(○,1)进行货物入、出库、现有货物信息修改以及删除;②能够实现对货物基本信息的查询和编辑管理;③能够对入、出库信息进行查询;④能够进行货物客户,供应商的查询功能;2.2需求分析阶段的目标与任务2.2.1处理对象仓库信息:仓库编号、仓库名称;供应商信息:供应商编号、供应商名称;入库信息:货物编号、供应商编号、仓库编号、入库编号、入库价格、入库数量、入库日期;出库信息:货物编号、客户编号、仓库编号、出库编号、出货价格、出货数量、出货日期;客户信息:客户编号、客户名称;货物信息:货物编号、货物名称、货物数量、货物类别、备注;管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话2.2.2处理功能及要求1.能够存储一定数量的货物信息,并方便有效的进行货物数据的操作和管理,这主要包括:1)货物信息的录入、删除和修改;2)货物信息的多关键字检索查询;3)货物的出库,入库信息的存储和查询;2.能够对货物供应商、客户、管理员等信息进行修改,查询,这其中包括:1)对供应商、客户的基本信息进行登记、删除和修改;2)管理员信息的增加、删除及修改;3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4.对查询、统计的结果能够列表显示。2.2.3.安全性和完整性要求1)安全性要求系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2)完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2.3需求分析阶段性成果2.3.1体会与收获系统需求分析主要是通过图书馆及上网搜索有关仓库管理系统的知识,了解到了仓库管理的现状,以及在管理中的一些问题。由于是第一次做这样的需求调查,开始总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过老师的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。2.3.2仓库管理系统业务流程图从客户及供应商角度考虑的业务流程图:2.3.3仓库管理系统数据流程图(1)分析设计顶层数据流图由于在搜寻指定货物时会因货物量大而加重任务量,在对一些货物及人员就行更新时也会因为复杂而手忙脚乱。这样在交易活动中不断地产生新数据,使得信息量逐渐加大。但使用本系统可以很方便的对所需信息进行查询,也可适时的利用插入功能对相关数据进行更新,这样及时、便捷、高效的得到查询统计结果。因此,设计顶层数据流图如图2.2所示:(3)逐步细化数据流图根据2.2.2列出的的仓库管理的主要功能,将仓库管理加工细化分解为仓库管理、供应商管理、入库管理、出库管理、客户管理和货物管理等子加工。在图2.2所示的顶层数据流图的基础之上,进行分解细化,得到如下所示仓库管理的各数据流图:2.3.4仓库管理系统数据字典(a)数据项:系统涉及的数据项有29项表2-1数据项列表数据项编号数据项名数据项含义与其它数据项关系存储结构别名DI-1DI-2DI-3DI-4DI-5DI-6DI-7DI-8DI-9DI-10DI-11DI-12DI-13DI-14DI-15DI-16DI-17DI-18DI-19DI-20DI-21DI-22DI-23DI-24DI-25DI-26DI-27DI-28GoodsIDGoodsNameGoodsTypeGoodsQtyGoodsPrizeClientIDClientNameSupplierIDSupplierNameStorageIDStorageNameCliManIDInstorGoodsQtyInstoreDateInstoreSuplierID?SupManIDOutstorGoodsQtyOutstoreDateManagerIDManagerNameManagerSexManagerAuthManagerpwdManagerTelManagerAddreStorageAddreGoodsStorIDStoManID货物编号货物名称货物类型货物数量货物价格客户编号客户姓名供应商编号供应商姓名仓库编号仓库名称客户管理员编号入库货物数量入库日期货物供应商编号供应商管理员编号出库货物数量出库日期管理员编号管理员姓名管理员性别管理员权限管理员密码管理员电话管理员地址仓库地址货物仓库编号仓库管理员编号同DI-20同DI-8同DI-20同DI-20char(10)char(20)char(20)intfloatchar(10)char(20)char(10)char(10)char(10)char(10)char(10)intdatechar(10)char(10)intdatechar(10)char(20)char(2)char(4)char(10)char(15)char(30)char(30)char(10)char(10)条码货名(b)数据结构表2-2数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Goods货物信息GoodsID、GoodsName、GoodsType、GoodsQty、GoodsPrize、GoodsStorID、GoodsStorIDDS-2Storages仓库信息StorageID、StorageName、StorageAddreDS-3Clients客户信息ClientID、ClientNameDS-4Suppliers供应商信息SupplierID、SupplierName数据结构编号数据结构名数据结构含义组成DS-5Instores入库信息InstoreGoodsID、InstorGoodsQty、InstoreDate、InstoreSuplierID、InstorStorIDDS-6Outstores出库信息OutstorGoodsID、OutstorGoodsQty、OutstoreDate、OutstoreClientDS-7Managers管理员信息ManagerID、ManagerName、ManagerSex、ManagerAuth、Managerpwd、ManagerTel、ManagerAddre2.3.5处理逻辑描述表1.2处理逻辑列表处理编号处理功能处理过程PR-1判断查询涉及的功能模块仓库信息模块,货物信息模块,管理员信息模块,客户信息模块,供应商信息模块,入库信息模块,出库信息模块:先确定查询所涉及的信息模块,然后根据查询内容,确定查询数据流向,最后显示查询结果PR-2判断信息修改所涉及的模块,同时把修改的信息传到相应的模块之中仓库信息模块,货物信息模块,管理员信息模块,客户信息模块,供应商信息模块:先确定所涉及的功能模块,然后,把更新的信息传到相应的模块中,最后进行相应的更新操作3.概念设计阶段3.1引言系统开发的总体目标是实现仓库管理的系统化和自动化,缩短入库,出库的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高仓库管理效率的目的。主要任务是对客户信息,供应商信息、管理员信息、货物信息、仓库信息、入库信息、出库信息的基本信息的操作及外理。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。3.2任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统;(2)设计分E-R图,即各子模块的E-R图;(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局E-R图,通过消除冲突等方面。在本仓库管理系统中,从细化层数据流程图下手。分析各数据流图和数据字典,知道整个系统功能围绕“客户”、“供应商”,“管理员”和“货物”、“仓库”的处理。根据实体与属性间的两条准则:eq\o\ac(○,1)作为“属性”,不能再具有需要描述的性质。eq\o\ac(○,2)“属性”不能与其他实体具有联系。数据流程图2.4、图2.5、图2.6可综合成借阅子系统的分E-R图3.1,数据流程图2.7可抽象为分E-R图3.2,数据流程图2.8可抽象为分E-R图3.3,数据流程图2.9可抽象为分E-R图3.4。然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R图3.5。3.3阶段结果(1)根据不同的对象,从第3层数据流程图入手,分别画出各分E-R图:(a)根据各数据流图抽象出各分E-R图:(b)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:(3)各E-R图实体属性如下:仓库:Storages(StorageID、StorageName、StorageAddre、StoManID);货物:Goods(GoodsID、GoodsName、GoodsType、GoodsQty、GoodsPrize、GoodsStorID);供应商:Suppliers(SupplierID、SupplierName、SupManID);客户:Clients(ClientID、ClientName、CLiManID);管理员:Managers(ManagerID、ManagerName、ManagerSex、ManagerAuth、Managerpwd、ManagerTel、ManagerAddre);各E-R图中联系属性如下:入库信息:Instore(GoodsID、SuplierID、InstorGoodsQty、InstoreDate、InstorStorID);出库信息:Outstore(GoodsID、OutstorGoodsQty、OutstoreDate、ClientID);4.逻辑设计阶段4.1逻辑设计的任务与目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数据组织4.2.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
具有相同码的关系模式可合并。由于从仓库与货物的联系方式是1:n(一对多),可以将其之间的联系与n端实体货物合并,管理员与供应商、客户、货物之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而供应商与货物、客户与货物之间的入库和出库联系则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,具体的基本E-R图向关系模型的转化如下:仓库:Storages(StorageID、StorageName、StorageAddre、StoManID);货物:Goods(GoodsID、GoodsName、GoodsType、GoodsQty、GoodsPrize、GoodsStorID);供应商:Suppliers(SupplierID、SupplierName、SupManID);客户:Clients(ClientID、ClientName、CLiManID);管理员:Managers(ManagerID、ManagerName、ManagerSex、ManagerAuth、Managerpwd、ManagerTel、ManagerAddre);入库信息:Instore(GoodsID、SupplierID、InstorGoodsQty、InstoreDate、InstorStorID,MID);出库信息:Outstore(GoodsID、OutstorGoodsQty、OutstoreDate、ClientID、MID);(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)确定实体间关系后,并根据上面所述的数据流图,使用PowerDesigner设计CDM如图4-1所示图4-1仓库数据库CDM图将上述CDM转化为PDM:图4-2仓库数据库PDM图4.2.2数据库模式定义表4-1仓库信息表列名数据类型可否为空说明StorageIDStorageNameStorageAddreStoManIDCharCharCharCharNotnullNotnullNotnullNotnull仓库编号仓库名称仓库地址仓库管理员编号表4-2货物信息表列名数据类型可否为空说明GoodsIDGoodsNameGoodsTypeGoodsQtyGoodsPrizeGoodsStorIDCharCharCharintfloatCharNotnullNotnullNotnullNotnullNotnull货物编号货物名称货物类型货物数量货物价格存放仓库编号表4-3供应商信息表列名数据类型可否为空说明SupplierIDSupplierNameSupManIDCharCharCharNotnullNotnullNotnull供应商编号供应商姓名管理员编号表4-4客户信息表列名数据类型可否为空说明ClientIDClientNameCLiManIDCharCharCharNotnullNotnullNotnull客户编号客户姓名管理员编号表4-5管理员信息表列名数据类型可否为空说明ManagerIDManagerNameManagerSexManagerAuthManagerpwdManagerTelManagerAddreCharCharCharCharCharCharCharNotnullNotnullNotnullNotnullNotnullNotnull管理员编号管理员姓名管理员性别管理员权限管理员密码管理员电话管理员住址表4-5入库信息表列名数据类型可否为空说明GoodsIDSuplierIDInstorGoodsQtyInstoreDate StorageIDManagerIDCharCharCharDateCharCharNotnullNotnullNotnullNotnullNotnull入库货物编号供应商编号入库货物数量入库时间入库仓库编号管理员编号表4-6出库信息表列名数据类型可否为空说明GoodsIDOutstorGoodsQtyOutstoreDateClientIDManagerIDCharintdateCharCharNotnullNotnullNotnullNotnull出库货物编号出库货物数量出库时间客户编号管理员编号4.2.3用户子模式的定义表4-7用户子模式定义编号用户子模式(view)作用V-1V-2V-3GoodsViewInStoreViewOutStoreView便于查询货物的基本信息便于查询入库信息便于查询出库信息表4-8货物基本信息视图列名数据类型可否为空说明GoodsIDGoodsNameGoodsQtyGoodsPrizeGoodsStorIDCharCharintfloatCharNotnullNotnullNotnullNotnullNotnull货物编号货物名称货物数量货物价格存放仓库编号表4-9入库基本信息视图列名数据类型可否为空说明GoodsIDSuplierIDInstorGoodsQtyInstoreDateStorageIDCharCharCharDateCharNotnullNotnullNotnullNotnull入库货物编号供应商编号入库货物数量入库时间入库仓库编号表4-10出库基本信息视图列名数据类型可否为空说明GoodsIDOutstorGoodsQtyOutstoreDateClientIDCharintdateCharNotnullNotnullNotnull出库货物编号出库货物数量出库时间客户编号4.3数据处理系统功能模块图:5.物理设计阶段5.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。5.2数据存储方面为数据库中各基本表建立的索引如下:由于基本表Goods的主码GoodsID经常在查询条件和连接操作的连接条件中出现,且它的值唯一,在这个属性上建立唯一性索引;由于基本表Goods的属性GoodsName经常在查询条件中出现在此属性上建立聚簇索引;5.3系统功能模块5.3.1货物基本信息的查询与更新模块 将实现对货物基本信息的查询和更新(修改、添加、删除)操作,用于货物登记入库、货物查询或更改信息的情况,具体的功能模块图如下:5.3.2货物出入库信息更新模块6.数据库实施阶段6.1建立数据库、数据表、视图、索引6.1.1建立数据库createdatabaseStore;6.1.2建立数据表(1)创建仓库信息表CreatetableStorage(StorageIDchar(10)primarykey,StorageNamechar(20)notnull,StorageAddrechar(30)notnull,StoManIDchar(10)notnull)(2)创建货物信息表CreatetableGoods(GoodsIDchar(10)primarykey,GoodsNamecahr(20)notnull,GoodsTypechar(20)notnull,GoodsQtyintnotnull,GoodsPrizefloatnotnull,GoodsStorIDcahr(20)notnull}(3)创建供应商信息表CreatetableSuppliers(SupplierIDchar(10)primarykey,SupplierNamechar(20)notnull,SupManIDchar(10)notnull)(4)创建客户信息表CreatetableClients(ClientIDchar(10)primarykey,ClientNamechar(20)notnull,CliManIDchar(10)notnull,)(5)创建管理员信息表CreatetableManagers(ManagerIDchar(10)primarykey,ManagerNamechar(20)notnull,ManagerSexchar(2)notnull,ManagerAuthchar(4)notnull,Managerpwdchar(10)notnull,ManagerTelchar(15)notnull,ManagerAddrechar(30))(6)创建入库信息表CreatetableInStore(GoodsIDchar(10),SupplierIDcahr(10),InstorGoodsQtyintnotnull,InstoreDateDatetimenotnull,StorageIDchar(10),ManagerIDchar(10)notnull,Primarykey(GoodsID,SupplierID),Foreignkey(ManagerID)referencesManagers(ManagerID),Foreignkey(StorageID)referencesStorages(StorageID),)(7)创建出库信息表CreatetableOutStore(GoodsIDchar(10),ClientIDchar(10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论