收藏 分销(赏)

仓储管理系统的数据库设计与实现.pdf

上传人:曲**** 文档编号:462301 上传时间:2023-10-11 格式:PDF 页数:75 大小:3.41MB
下载 相关 举报
仓储管理系统的数据库设计与实现.pdf_第1页
第1页 / 共75页
仓储管理系统的数据库设计与实现.pdf_第2页
第2页 / 共75页
仓储管理系统的数据库设计与实现.pdf_第3页
第3页 / 共75页
仓储管理系统的数据库设计与实现.pdf_第4页
第4页 / 共75页
仓储管理系统的数据库设计与实现.pdf_第5页
第5页 / 共75页
点击查看更多>>
资源描述

1、中文摘要本论文课题是以天津开发区泰达公共保税仓有限公司为背景,根据该公司 的实际工作流程、业务处理方法以及内部管理模式,并结合管理信息系统开发 的概念、结构及系统开发的基本原理和方法而设计开发的一套仓储管理信息系 统。仓储管理系统数据库的设计,要求能满足用户的当前要求,有较高的性能,并具有良好的可扩展性,以满足企业未来的业务发展需要。本文对目前数据库 设计建模技术进行了分析,指出传统建模设计方法的局限性,在实际数据库设 计过程中,以关系数据模型的规范化设计理论为依据,使用统一建模语言(UML)和面向对象技术进行了数据库的设计。本文从对象映射和关系映射两个方面,针对UML对象类图的不同关联模式,

2、详细讨论了由对象类图向关系数据模型映 射的方案,在实际设计中针对企业需求利用各种映射方案进行设计。本文还对 数据库建模的命名方法进行了分析,建立了便于理解、维护和扩展的数据库命 名规范。在设计中还充分考虑未来数据库运行的性能问题,合理使用反规范、表空间划分、索引、存储过程及触发器等设计方法来提高数据库的性能。在系统数据库实现时,采用了 Oracle 9i数据库产品,并根据实际应用情 况对Oracle9i进行了优化配置,从而,仓储管理系统的整体性能得到提高了。关键词:仓储管理,信息系统,数据库设计,数据库建模,Oracle性能优化AbstractThis article,with Tianjin

3、 TEDA General Bonded Warehouse Company in the background,according to the working process,combined with managerial mfbrmation system development,s concept,structure and basic principle and method,designs and develops a set of storing management information system.The storing management system databa

4、se should be designed to satisfy users present needs with high performance and good expansibility to meet the needs of enterprises,development in future.This article analyzes the present database designation technique,and points out the limitation of traditional way.During the designation of databas

5、e,based on relation data modeFs normal form standard design theory,taking use of object-oriented technique and unified modeling language it designs system database.From object mapping and relation mapping,in the light of UML objects different relevance models,it discusses the project mapping from ob

6、ject to relation data model,and designs according to needs of enterprises by all kinds of mapping project.This article also analyzes the naming method of database modeling,establishes a naming principle easy to understand,maintain and expand.The designation takes future database operating into consi

7、deration,takes rationally anti-standard,table space division,index,storage process and trigger to upgrade database,s performance.The popular relation database Oracle is adopted in realizing system database.This article introduces the optimized details in ORACLE 9i application,gives foil play to Orac

8、le through optimizing,and upgrades storage management systems performance.Key Words:storage management,information system,database design,database modeling,Oracle performance opitmizing第一章绪论第一章绪论1.1 课题的背景伴随我国物流产业的不断发展壮大,仓储管理系统(简称WMS)也逐渐成为 国内各大第三方物流(简称3PL)企业第一关注的热点,可以说WMS已经成为事 关3PL企业生死存亡的一个最为关键的因素。目前

9、国内外主要做WMS的公司主要 有:EXE、MA、博科、中软冠群等。各软体开发商的产品在功能、架构、适应性、数据库结构设计等方面都各有千秋,市场竞争十分激烈。位于天津开发区的泰达公共保税仓有限公司(简称TBW)是从事3PL的企业,伴随天津滨海新区的发展纳入国家发展规划的大好前景下,TBW发展的未来前景 变得非常广阔。随着滨海地区国内外大型企业的不断进驻,这些企业对3PL的服 务要求更为全面和具体,而且他们对WMS的考察成为合作与否的第一关键因素,仓储管理的目标是方便地进行高效率的货物移动和库存的控制。一项由“仓储教 育和研究协会”做出的研究表明,最好的仓储运行机制可以获得99.9%的订单准 确率

10、和99.2%的准时出货率,零误差”被认为是可以接受的目标。而通过天津开 发区泰达公共保税仓有限公司运作经验表明,想达到仓储作业的高效和准确,一 套优秀的仓储管理系统是非常重要的,拥有一套功能全面、性能稳定的WMS成为 公司发展的头等大事。一个运行良好的WMS需要有运行稳定、高效并具有良好的可扩展性和维护性 的系统数据库的支持,系统数据库设计的质量直接关系到未来WMS的成败,同时,一个合理的数据库结构有利于程序的实现。1.2 课题的目的和研究方法本课题研究的目标是建立具有运行稳定可靠、性能高效并具有良好的可扩展 性和维护性的系统数据库,来保证WMS系统的顺利开发和投入运行。数据库是信 息管理系统

11、的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可 以提高数据信息的存储效率,保证数据信息的完整性和一致性。传统的数据库设计方法存在着许多问题和局限性。仓储管理系统的设计中拟 运用UML设计建立系统数据库模型,使系统数据库数符合UML规范,类之间的关 第一章绪论系在系统数据库中得以反映,使系统设计和数据库设计使用相同的模式,使得面 向对象概念和系统数据库设计保持一致,便于开发人员之间的交流,保证了 WMS 系统开发的顺利进行。在数据库性能方面提出了更深入的研究,一是硬件方面对数据库设计进行探 讨:二在数据的存储方式

12、和存储空间方面提出新的方法以优化数据库的性能;三 从数据库内在结构方面研究数据库性能调整方法。课题的研究方法是根据对仓储管理系统的系统分析结果,使用Power Designer数据库建模工具采用UML和面向对象技术对系统数据库进行分析建模,并对生成的模型进行评审并根据评审结果反复修改,并且在实际设计中充分考虑 未来数据库的性能,合理使用反规范、表空间划分、索引、存储过程及触发器等 方法。利用PowerDesigner将设计转化成Oracle 9i的实际数据库结构。通过对 实际开发中反馈的数据库的设计问题以及性能问题,再对进行数据库设计和 Oracle 9i数据库系统进行性能调整。设计的系统数据

13、库最终满足WMS的功能开发的要求,WMS的主要功能包括:仓库与各分库的层级划分、分库内仓储区域及货位的层次关系、货位的结构设计、入库流程、上架策略、出库流程、补货、盘点、退货、保税处理、库存转移、库 存调整、费用流程、报表管理等。1.3 主要工作和章节安排本文在阅读了大量有关书籍和参考资料的情况下,结合以往项目开发经验和 天津开发区泰达保税仓有限公司的业务流程和实际操作情况,根据用户的需求进 行了深入的分析和研究。主要完成了以下工作:1.进行详细的需求分析和系统分析,以用户的需求为准则,根据泰达保税 仓有限公司业务实际情况和特点,设计数据库结构。设计的数据库能满 足用户的当前要求,有较高的性能

14、。并具有良好的可扩展性,能满足企 业未来的业务发展需要。2.根据传统的数据库设计方式存在的缺点,提出采用了 UML和面向对象 的建模技术(OMT)设计数据库的方法。通过系统分析建立系统的对象模 型,并将建立的对象模型按照相应的映射规则,映射为关系数据库中的 关系模式,并为各关系模式建立相应的约束。在数据库设计过程中充分 考虑未来系统的性能、开放性和可扩展性。3.仓储管理系统的数据库最终在关系型数据库ORACLE 9i系统上实现,并 结合Oracle 9i的实际特点对数据库系统的实际应用进行了优化。第一章结论本文章节安排如下:第一章绪论第二章数据库建模意义与策略第三章仓储管理系统的分析第四章仓储

15、管理系统数据库的设计 第五章仓储管理系统数据库的实现 第六章总结及展望第二章数据库建模思想与策略第二章数据库建模意义与策略2.1 数据库建模的意义现代信息系统大多是以数据库为核心,利用数据库技术来帮助管理信息,实 现数据的收集、整理、存储、检索、更新、加工与传递等操作。因此,对于一个 软件系统的开发来说,数据库设计是否成功是一个项目成败的关键。数据库设计 是指针对于一个给定的应用环境,以规范化理论为依据,实体间的关系为基础,建立实体结构及其相互关系的技术,是信息系统开发和建设中的核心技术。其 目的是有效地存储数据,满足各种用户的应用要求。系统最终是否能被用户接受,数据库设计是至关重要的。如何设

16、计一个有效的数据库是信息系统设计的一项极为重要的任务,也是一 个复杂的系统过程,它是指对于一个给定的应用领域(即问题域),提供一个确定 最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法 的物理设计,建立一个既能反映现实世界信息和信息联系、满足用户对数据的要 求和加工的要求,又能被某个DBMS所接受,同时又能实现系统目标并有效存取 数据的数据库及其应用系统。数据库设计是一个反复的过程,应用建立模型的方法进行设计,可以使这种 经常性的变化更易于管理和理解,它要求代码产生前对模型做改动,这样就可以 明白每次改变在实现上产生的变化,分析是否要做这种变化以及其他要做的选 择。例如,

17、一个对关系或键码列所做的改动将影响基于它的几个表。因为键码迁 移和由键码迁移而引起的变化叠加,将会引起数据丢失和不完整。在模型驱动开 发中,在数据库中被实现之前,所有的变化都先在模型中改变。通过使用模型驱 动开发,可以消除大多数意外,可以在将变化直接实施于数据库之前看到变化的 结果4关系数据库模型是一种非常精巧、清晰的模型,关系理论中的概念经受了长 期的考验己经使关系数据库成为行业标准,并提供了一个简单的应用开发接口。随着信息结构与系统的应用环境不断趋于复杂化,软件工程人员愈加认识到数据 库模型与建模方法选择的重要性。使用何种建模方法对应用数据库系统进行有效 的建模是我们应该考虑的问题。仓储管

18、理系统的设计中运用UML设计建立系统数据库模型,使系统数据库模 型数符合UML规范,类之间的关系在系统数据库中得以反映,使系统设计和数据 第二章数据库建模思想与策略库设计使用相同的模式,使得面向对象概念和系统数据库设计保持一致,便于开 发人员之间的交流,保证了系统开发的顺利进行.2.2 传统的数据库设计方法存在的局限性由于数据库设计是一个复杂的系统过程,人们一直希望有一套科学而又实用 的设计方法,长期以来人们利用软件工程学的观点提出了许多数据库设计方法,主要有结构化设计方法、基于3NF的数据库设计方法、多级法和ER方法等,这 些方法的出现大大方便了数据库的设计,对数据库设计走向规范化、标准化起

19、到 了巨大的推动作用。传统的数据库设计方法主要是基于E-R模型的设计,通常是在一个通用 DBMS支持下,对于一个给定的应用环境,构造最优的数据库模式,建立数据库 及其应用系统,使之能够有效地存储数据,以满足各种用户的应用要求(信息需 求、处理要求等)。这种方法虽然方便了数据库模型的设计,推动数据库设计的 规范化和标准化,但当数据库越来越庞大、应用越来越复杂、用户要求越来越高 时,则逐渐暴露出一些问题。这些局限性主要表现在以下几个方面71.不利于准确地映射问题域和准确地反映系统责任。数据库设计就是要求 建立一个既能反映现实世界信息和信息联系,又能满足用户的数据要求 和加工要求的数据库。:2.不能

20、适应企业管理信息系统业务的发展,变化和重组。随着社会的发展,企业本身在不断地发展,企业的规模,企业的业务、业务量以及需求都 在不断地发生变化之中,设计的数据库必须要能够适应这种动态的变化,只有这样才能提高软件的生存周期。3.分析过程各个阶段独立性较强,环节多,各阶段之间转换的质量难以保 证,如果某一阶段发生变化或者修改,将牵涉到前一阶段的内容,并影 响到后续阶段发生变化和修改,增加了数据库设计的工作量。4.各开发人员之间的交流与通信存在一定障碍。由于需求分析人员、数据 库设计人员、编程人员以及用户等,他们没有使用一致的问题表示方法,这就使得彼此交流存在了困难。5.软件的可复用性差,软件开发效率

21、和质量不尽如人意。由于上述问题和其它问题的存在,人们开始研究新的设计方法。随着面向对 象技术的发展,我们很自然地想到使用面向对象的方法进行数据库的设计,并使 用UML来描述整个系统。这样就使得数据库的设计从需求分析、模型的建立、到 5第二章数据库建模思想与策略系统设计和实现有了一个统一的开发标准,从而为系统的维护和当需求发生改变 时,重新调整系统带来了很大的方便。鉴于此,面向对象的统一建模方法目前已 逐步取代了传统的方法,成为计算机软件工程学中的主流方法。该方法一方面可 以分析、设计出完善的软件系统,另一方面又可以完成数据库的设计,把这两个 过程统一在整个软件分析设计全过程中,相对传统的基于E

22、-R模型的方法来说,更有助于提高开发的效率。2.3 UML数据库建模概述2.3.1 UML数据库建模机制由 Rational 公司的专家 Grady Booch,James Rumbaugh 和 Ivarla cobson 联合完成的统一建模语言(UML),是当前主流的面向对象的软件开发建模语言,也是最有前途的建模语言。UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用 领域,主要用于建立软件系统的模型。UML语言中视图非常丰富,主要可分为用 例图、静态图、行为图、交互图和实现图五类,通过这几类视图可以全面的描述 一个数据库应用系统。用例在工程开始就创建,以便于理解构建数据库

23、系统的需求,这个过程可以 不断反复进行,为建造数据库的表、列等提供一个好的开端。要理解数据库会有 哪些访问者及他们需要什么类型的信息,用例也可以提供一个好的开端。理解众 多用户或系统参与者及他们所要求的信息类型,可以使设计者一开始就对数据库 将如何增长、增长多快有个了解。活动图是用来描绘用户在系统中活动的过程,及他们是如何与数据库交互 的。从活动图中可以得到许多标记值,它们有助于设计者了解使用数据库的频率。一个活动中事件发生的时间可以通过这些标记值而得到,它们有助于再次弄清数 据库的使用频率。活动图不是具体到那些将要被访问的特定数据上,而是为考察 一些问题哪些数据将被获取及频度怎样,哪些活动会

24、引起数据库的访问一提 供一个高层次的视角。顺序图通过发现应用软件和数据库中的对象,并把它们变为类和表,以建造 数据库和开发应用软件的结构。顺序图中对象的相互作用反映了对象之间怎样通 信和通信所用的方法。通过弄清对象的通信方式和获取信息的频率,数据库设计 者可以知道如何获取数据,怎样设计索引。至于数据库的分布,数据库设计者使 用顺序图了解数据增加的频率,以估算数据库的大小和增长速度。了解对象之间 的相互作用,数据库设计者不仅能将对象间的作用可视化,而且为数据库访问频 第二章数据库建模思想与策略度建模。通过捕捉能描述数据库的结构实体、属性和关联,类图帮助数据库设计者建 造一个逻辑设计模型,而且还可

25、以提供如何划分数据的知识。持久稔定的实体通 常会转变成数据库中的表,但它们也可能合并成别的表或划分成多个表。通过回 顾逻辑模型,理解系统的初始意图,不用使用非规范的数据库设计方法,数据库 设计者就可以知道应用元素或类如何互相通信,以及哪些数据有可能被哪些类访 问。理解了逻辑设计之后,数据库设计者可以按照用户的意图建立表空间,根据 用户可能的访问情况存储数据,而不是仅仅从表的建立过程中得到的摘要来完成 这些工作。在表内创建分区,提供了在不同要动器上存储表格各部分数据的能力。另外,通过了解系统意图一为什么创建数据库和哪些数据会存储到数据库中一数 据库设计者可以做出有根据的决定,而不仅是猜测。2.3

26、.2 UML建模过程统一建模方法由用例(Use Case)驱动整个开发过程,分为捕获需求、分析、设计、实现和测试等阶段,每个阶段都是在前一阶段的基础上的进一步细化,呈 增量迭代式发展。具体的方法步骤如下:1.捕获需求阶段:先由用户、分析人员和开发者积极交流,分析、提炼用 户对系统的需求,并描述出来。然后在此基础上建立业务用例模型、业 务对象模型,用模型来完整地表达和细化用户需求。2.分析阶段:在前一阶段基础上进行功能抽象和数据抽象,功能抽象得到 系统分析包,数据抽象得到分析类及其相互之间的关系。3.设计阶段:对分析阶段的成果进一步细化,细化分析类的方法和相互问 关系,细化各个子系统的接口和相互

27、问交互,得到实现时可以使用的设 计模型。4.实现阶段:编码实现设计,并进行单元测试、集成测试旧。统一建模方法的分析设计成果通过建模工具的一系列视图表示,包括用例 图、类图、对象图、活动图、顺序图等等,易于开发人员与用户交流和开发人员 之间的交流、改进。第二章数据库建模思想与策略图2-1统一建模方法各种图的应用阶段从图2-1可以看出,最初通过用例图获取用户需求,然后对获取的每个用例 用活动图或时序图描述其内部的逻辑流程,在形成时序图的过程中可以实现对类 的提取以及对类所应具有的操作的提取。而组件图则是对用例图的进一步细化以 及对类和代码更大力度的封装。尽管UML可以应用于任何开发方法中对任何系统

28、建立模型,但它特别适合采 用面向对象的思维方式对软件建模。现代软件项目的规模越来越大,越来越复杂,建立简明准确的模型是把握系统的关键。总之,UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新 技术。2.4 UML建模和传统方法的比较传统的数据库开发都是要求设计者构造两个数据模型。一个用来支持用户需 求的逻辑模型,它不涉及物理实现:另一个是物理数据模型,此时逻辑数据模型 被转换成物理数据模型并被实施。从传统上说,逻辑和物理数据模型是大不相同 的,逻辑设计完成后进行实际的数据库设计。构造一个数据模型,即逻辑数据模 型的物理实现。之后,物理数据模型

29、被用于创建实际的数据库。这种方法的好处 是分析集中在收集逻辑需求上,而不会因性能考虑搅乱思考。在分析末尾,我们 确信已经有宁一个可以支持己收集的大多数与数据有关的业务规则的模型。然后 这个模型被定型,形成一个数据库。然而,分析结束并不意味着需求不再发生变 化。利用传统的方法,必须维持两种模型一逻辑和物理模型。若利用当前可用工 第二章数据库建模思想与策略具,保持这两种模型的同步不容易.在面向对象方法中,面向对象不仅是程序设计的基础,而且也是数据库设计 的基础。在考虑数据库建模时采用面向对象的统一建模方法,就不再把逻辑模型 看作是物理模型构造单独的一步.在分析过程中,创建一个与物理实现问题无关 的

30、分析模型。在分析完成和开发开始时,将这个模型进一步扩展,这样其所代表 的不仅是成熟的理解,而且也包括支持实现需求所需要的修改,所以与其有一个 逻辑数据模型,不如有一个始于纯粹逻辑模型的数据模型,该数据模型最终就能 表达所有与系统需求相关的数据,并用来产生物理数据库。这种方法产生了构造 一个系统时既支持逻辑的又支持物理的单一数据模型。这种统一方法的便利之处 在于只需维护一个模型。数据模型仍然应该被定期地更新版本,这样当我们准备 创建一个真正的数据库时,我们就会有一个准确代表数据相关的业务规则的模 型。在数据库建模应用中,UML模型与传统的ERD模型进行比较,它们之间的主 要差别可以从以下几个方面

31、看出:1.ERD模型只实现了实体一关系建模,但不能对需求分析、系统交互、系 统实现等做出建模实现,其对于实体一关系的实现也不如UML那样直 观、规范。2.ERD模型只能实现对于数据库中相关实体及其关系的设计,不能实现对 于整个数据库应用系统的模型设计。而基于UML的面向对象数据库建 模不仅能够实现对数据库系统中的实体及其关系进行设计,还能够很方 便地实现整个数据库应用系统的模型设计.3.基于UML的面向对象数据库建模支持软件系统和数据库系统开发的全 过程,有利于系统在需求发生变化时进行系统维护和功能扩展,并为开 发人员之间或开发人员与用户之间进行技术交流或业务交流提供了方 便。4.同时,由于基

32、于UML的面向对象数据库建模使用了 UML标准建模语言,使得即使不懂数据库设计的程序设计人员也能方便地进行交流。5.另外,由于采用UML标准建模语言,可以借助流行的CASE工具(如:PowerDesigner,Rational Rose等),这样将便于开发人员维护技术文档,使系统文档便于版本更新。面向对象的统一建模方法是一个整体的方法,一方面可以分析设计出软件程 序,另一方面又可以完成数据库的设计,把这两个过程统一在整个软件分析设计 全过程中,相对传统E-R图法来说可能有助于提高开发效率。第二章数据库建模思想与策略2.5 UML数据库建模策略UML数据库建模比传统的ERD有更为丰富和灵活的建模

33、方式,向用户提供了 一种随时可用的可视化建模语言开发和交换有意义的模型;为扩展和新概念提供 了扩展和规范机制:独立于特定的编程语言和开发过程:为理解模型语言提供了 正式基础:支持较高层次的开发概念。UML是一个面向对象的建模工具,而关系 数据库是建立在关系数学模型上的概念,因此如何建立面向对象模型和关系数据 库模型之间的映射关系是数据库建模的关键。UML对象模型和关系数据库模型的对比如表2-2所示。表2-2 UML对象模型和数据库模型对比表UML对象模型 数据库模型类表对象标识主键静态对象属性列属性类型字段类型关联非确定性关系聚集关联确定性关系唯一性约束、主键约束动态对象操作外键约束、自定义约

34、束 索引、触发器2.5.1 UML类图的映射策略类图是面向对象系统的建模中最常见的图之一。类图显示了一组类、接口、协作以及它们之间的关系,主要用于对系统静态设计视图建模。其中,类是面 向对象系统组织结构的核心,表示被建模的应用领域中的离散概念,是具有相同 结构、行为和关系的一组对象的描述符号。UML中类图的映射主要是指对象标识、属性类型、类这三个方面的映射.1.对象标识映射为主键设计数据库模型,合理选择主键是一个关键的问题。一般定义主键可以有两 种方法:(1)为每个类增加一个对象标识符(OID)属性,将其映射为数据库中相应类表 的主键。参见图2-2,其中 B A B单向导航关联.双向导航关联图

35、2-3导航关联1.关联关系的映射UML中的关联关系描述了系统中对象或实例之间的离散连接,是一种结构关 系,规定了一种事物的对象可以与另一事物的对象相关联。当类参与关联时,类 在关联关系中扮演一个特定的角色。关联涉及的对象数目称为阶元,阶元的大小 反映了关联的多重性,一般在关联端标出。常用的阶元标记有“0 等,分别表示0个或1个、1个、多个对象参与该关联。根据阶元的数目可将关 联划分为4种叫一对一关联,零或一对一关联,一对多关联和多对多关联。(1)一对一关联:-A J_L B图2-4 一对一关联关系影射图2-4中,表示A的一个对象与B的一个对象关联。在这种情况下,可在 两个类中任意选择一方,在其

36、所对应的类表中添加一个外键 fk (foreign key),指向另一方所对应类表中的主键,从而实现两张类表之间的连接,将关 联关系成功映射到数据库中。需要注意的是,不要在两个表中均放置对方的主键,这样会造成冗余。(2)零或一对一关联:AI 0.-J_JL F7图2-5零或一对一关联图2-5表明B的一个对象可与。个或1个A对象发生关联,一般在A类(即 对象个数为零或一的那一方)所对应的表中添加一个外键,指向另一方B类所对 应的类表中的主键,建立两表之间的连接。此时,外键作用类似于面向对象技术 中的指针,参见图2-6。第二章数据库建模思想与策略contact Pereon电 pkcontBCtP

37、enonOlD金 phenefax第 emailproject 类表projectOID(itt)project_namestart_datecontactPersonOID(外键)contactPerson 类表contactPersonOID(主键)phonefaxemail图2-6外键关系(3)一对多关联:表示A的一个对象与B的多个对象关联,这种关联关系可以通过在B类(即 具有多个对象的类)所对应的类表中增加一个外键,指向另一方A类的主键,从 而建立两个表之间的关联,参见图2-7,projectIJ1T*kQ pkprojectOiD pkTMk01D今 Task_name fkproj

38、rct01Dproject 类表projectOID(主键)project_namestart_datetask类表TaskOID(主键)Task_namestart_datefinish_dateprojectOID(外键)图2-7 一对多关联13第二章数据库建模思想与策略(4)多对多关联:图2-8多对多关联实现多对多关联,通常需要建立一个关联表,映射关联对象,从而将多对多 关联转化为两个一对多关联。实现时,在新建的关联表中设置一个对象标志符 OID,同时增加两个外键,分别指向初始关联的两个类对应表的主键,参见图2-9。student 类表 course 类表studentOID(主键)st

39、udent_nameEnroldateCourseOID住健)course-nameTextbookstu&course 类表stufccourseOID(主键)studentOID(外键)CourseOID(外健)图29关联表的应用2.泛化关系的映射泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描 述的基础之上,并对其进行了扩展。从实现的角度来看,UML的泛化体现了分类 与继承原则,与面向对象程序设计语言中的继承性概念相关。一个子类继承超类 的全部属性和方法,一个子类本身又可以有自己的子类,从而构成复杂的一般/特殊结构。在关系数据库模型中没有直接的方法实现泛化,这里可以通过

40、3种方法实现第二章数据库建模思想与策略其映射。(D类层次映射为单个表。通过这种方法,将泛化关系中所有类都映射在单 个表中,所有类的属性都保存在该表中;同时在表中增加一个对象标志符OID,以及一个对象类型,用以标识角色类型,如图2-10所示,这种映射方法支持多 态,不足之处是当泛化关系中任一类发生变化时都会影响该表,导致耦合性的增 加,同时占据了较大的存储空间。图2-10类层次映射为单个表(2)将超类属性分别复制到各个子类中,这样每个子类既包含自身属性,又 包含超类属性,同时在各个子类中增设各自的对象标志符OID,从而实现映射。在这个过程中,超类不需要参与映射,如图2-11所示。stu_id住健

41、)namestu_idteacherOID住键)namesalary图2-11每个子类映射为单张表由于每张表包含单一类的所有信息,故这种方法对于执行报表、专门报告比 较方便。缺点是当修改超类时,须对所有子类都进行操作,同时当对象类型发生 变化时,需要进行复制处理,比较繁琐。(3)每个类映射为单张表。为每个类都建一张表,但每张表中的对象标志符 0ID都设为超类的类表中的01九在子类的类表中,OID既是主键又是外键,各15第二章数据库建模思想与策略自属性不变,如图2T2所示.这种方法支持多态,较好地适应面向对象的要求,易于修改:但由于表数目较多,会造成访问数据库时间比较长。另外,每张表反 映的不是

42、单一类的信息,所以不宜进行报表等工作.stu类表 teacher类表personOID(主健)(外健)stu_idpersonOID往健)(外键)salary图2-12每个类映射为单张表3.聚集关系的映射聚集关系是一种特殊的关联关系,表示事物的整体/部分关系较弱的情况,代表“has-a(拥有)关系。在这种情况下,“部分”能够为多个“整体”所共享,并且“部分”独立于“整体”而存在。将这种关系映射到关系数据库中,可分为 两种情况:一种是聚集关系较为紧密的情况下,可将其映射在一张表中;另一种 是聚集关系较为松散的情况下,可以用一对多关联的映射方法实现,须在子类的 类表中增设一个外键指向超类的类表的主

43、键。例如office类和officeMember 类之间存在着聚集关系,将该关系映射到关系数据库中,方法如图2-13所示。Office 类表 officemember 类表officeOID(主键)officeOID(itt)officeOID(外键)图2-13聚集关系的映射16第二章数据库建模意义与策略4.组合关系的映射UML中组合关系是一种特殊的聚集关系,表示事物的整体/部分关系较强的 情况,称为“contains”联系。此时,“部分”不能为多个“整体”所共享,只 依附于一个“整体”而存在。例如,圆由点组成,圆和点之间就构成了组合关系。具体的映射策略与聚集类似,由于组合关系中整体和部分间存

44、在很强的所有关系 和一致的生命周期,所以子类所对应的子表中的外键不能为空。采用面向对象技术的统一建模过程在提高效率方面的优势是很明显的,其主 要应用是将UML分析与数据库设计相结合“0n吨。2.6数据库建模工具建模工具作为信息系统逻辑设计的辅助手段越来越被广大系统开发人员所 接受。建模工具的使用有利于数据模型的规范化和模型结构的正确性,主要体现 在以下方面:(D开发资料规范化:在开发工具中使用了一套标准数据模型定义格式,能 够生成符合SQL语法标准的开发文档,能够统一每个程序设计人员的开发风格.同时整个开发过程可以通过文字的形式保存下来,便于系统的调试和撰写各类开 发文档。(2)便于了解数据库

45、的特点:使用开发工具能够自动生成目标数据库语法逻 辑分析人员或用户单位使用人员如果对目标数据库平台的语法规则不是很熟悉,可以借用开发工具了解数据库基本的语法定义便于尽快熟悉系统环境。(3)减少模型的错误:开发工具具有一定的检查功能,能够迅速地发现模型 建立过程中的语法错误,保证实体、关系和属性间的正确性和合理性皿。PowerDesigner是目前最为流行的数据库分析设计建模工具之一,它融入了 软件工程技术、面向对象技术、数据库应用技术的最新研究成果,实现了业务流 程模型(BPM),统一建模语言(UML)和实体联系(E-R)模型的无缝集成。其主要特 点是:(1)将业务流程设计、对象设计、数据库设

46、计和关系数据库无缝的集成到一 起,一个集成工作环境中能完成面向对象的分析设计和数据库建模工作。(2)提供了完整的分析、设计和建模解决方案,它的二级建模功能(概念数据 建模、物理数据建模、面向对象建模)使得Power Designer更趋于完美。(3)集BPM,UML和ER精华于一身,克服了其它CASE工具技术偏高的问题,所 以能够适应市场潮流。(4)支持目前流行的多种客户端开发工具,支持如多种流行的数据库管理系 统(DBMS),能够满足大、中、小型应用系统分析设计的需求.17第二章数据库建模思想与策略(5)可以快捷、方便地开发复杂地分布式应用系统,从而使企业竞争优势皿。PowerDesigne

47、r的优点是不仅开发速度快,而且效率和稔定性也比较好,在 生成代码时对Sybase的产品PowerBuilder的支持很好(其他UML建模工具则没 有或者需要一定的插件),对其他面向对象语言如C+,Java,VB,Cn等支 持也不错。PowerDesigner侧重点在于数据库的建模,它支持了我们所能见到的 将近90%左右的数据库间.新版本的PowerDesigner已经一个集所有现代建模技术于一身的完整工具 它集成了强有力的业务建模技术传统的数据库分析和设计以及UML对象模型,提 供了对UML2.0支持,且全面支持60多种(版本)数据库系统。它集成了元数据的 管理、冲突分析和真正的企业知识库等功

48、能,PowerDesigner提供了完整的企业 建模环境。经过综合比较,在仓储管理系统进行数据库设计时,我们选择了 PowerDesigner作为数据库建模工具,成功地完成数据库的建模和设计工作,取 得了良好的效果。18第三章仓库管理系统整体分析第三章仓储管理系统的分析3.1仓储管理系统的目标和功能仓储管理系统(WMS)是泰达保税仓有限公司的核心业务系统,WMS利用计 算机软件模拟实施仓储管理的系统流程,简明实用,WMS的目标是提高仓储管理 的质量和效率。WMS应该充分满足目前企业中的业务运行需要,并且具有良好的扩展性以适 应未来业务发展的需求。WMS应具备主要功能包括:仓库与各分库的层级划分

49、、分库内仓储区域及货位的层次关系、货位的结构设计、入库流程、上架策略、出 库流程、补货、盘点、退货、保税处理、库存转移、库存调整、费用流程、报表 管理等,在实现对整个收货、发货、补货、集货、送货等各个环节的规范化作业 的同时,还可以根据客户的需求制作多种合理的统计报表,不论物品流向哪里都 可以自动跟踪。3.2仓储区域及货位的层级划分3.2.1公司仓库与各分库的层级关系图3-1仓库的层次结构说明:上层为公司级别的仓库总库(通称).下层为下属各子仓库以及堆场(OpenYard)。19第三章仓库管理系统整体分析3.2.2分库内的区域、货位层级关系说明:.货位的合理规划与建立是整个仓储管理的重要基础,

50、因此货位基础信息的建 立亦是此系统运作的基础之一。货位划分为4个层级,依次为:第一层级,建立 Section,即建立分库的概念;第二层级,建立Area,其含义为在仓库内根据不 同操作人员的工作区域划分的区域:第三层级,建立PutwayZone,其含义为在 仓库内根据货主、货物类别或货物相似点等划分的区域;第四层级,建立 Location,即建立具体的货位3.3货位的结构分析3.3.1托盘货架货位1、定义20第三章仓库管理系统整体分析注释:X-数字(:9)或英文大写字母(不包含“0”、“I”、Z、S”)Z-英文大写字母(不包含“0”、“I”、Z”、“S”)9-数字(09)2.规则表3-1托盘货架

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服