当前位置:第七章<<第三节 概念结构设计 |
图7.18 开发票
图7.19 支付过账 分析图7.15和数据字典,知道整个系统功能围绕了“订单”和“应收账款”的处理。数据结构中订单、顾客、顾客应收账目用得最多,是许多子功能、数据流共享的数据,因此先设计分E-R图的草图(如图7.20)。
图7.20 分E-R图的框架 参照第二层数据流图和数据字典,遵循两个准则,进行如下调整: (1)每张订单由订单 、若干头信息和订单细节组成,订单细节又有订货的零件号、数量来描述。按照准则(2),订单细节就不能作为订单的属性而应该上升为实体,一张订单有若干产品,所以订单与订单细节两个实体是1∶n的联系 (2)原订单和产品的联系实际上是订单细节和产品的联系。 (3)图7.19中“发票主清单”是一个数据存储,不必作为实体加入分E-R图。 (4)工厂对大宗订货给予优惠。每种产品都规定了不同的订货数量的折扣,应增加一个“折扣规则”实体存放这些信息,而不应把它们放在产品描述实体中。 最后得到的分E-R图如下图所示。
图7.21 销售管理子系统的分E-R图 对每个实体定义的属性如下: 顾客:{顾客号,顾客名,地址,电话,信贷状况,账目余额} 订单:{订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点} 订单细则:{订单号,细则号,零件号,订货数,金额} 应收账款:{顾客号,订单号,发票号,应收金额,支付日期,支付金额,当前余额,货款限额} 产品描述:{产品号,产品名,单价,重量} 折扣规则:{产品号,订货量,折扣} 7.3.5视图的集成各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。一般说来,视图集成可以有两种方式: 一次集成,一次集成多个分E-R图,难度较大,通常用于局部视图比较简单时。 逐步集成,用累加的方式一次集成两个分E-R图,可以降低复杂度。 无论采用哪种方法,每次集成局部E-R图时,都需要分两步走。 (1)合并。解决各E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。 (2)修改与重构。消除不必要的冗余,生成基本E-R图。 一、合并分E-R图,生成初步E-R图 各个局部应用所面向的问题不同,并且通常是由不同的设计人员进行局部视图设计,这就导致各个分E-R图之间必定存在许多不一致的地方,称之为冲突。合并分E-R图的主要工作与关键就是要合理消除各分E-R图的冲突。 1 2 3 4 5 6 |