系列化产品工程信息的建立与管理
【本章摘要】本章首先分析了管理系列化产品信息的工具―工程数据库的内容及建库方法,并详细分析了具体系统中的库存一设计控制模块的实现及其工程数据库的生成和企业中的项目图纸管理模块的工程数据库建立。
5.1工程数据管理的引入
随着现代工业的发展,现代工业的整体分工与合作的日益完善,特别是标准化和通用化技术的发展,企业产品的系列化工作就变得日益重要。而对产品信息的管理也变得很重要,并且,由于系列化产品之间在特征尺寸和图形表达上都具有一定的共性。如何有效地记录这些信息,特别是应用到图形驱动中,普通的数据库(存储简单的数据信息)对图形特征数据的存储较为困难,而工程数据库能存储具有工程特性信息的内容。
为了适应工程数据库管理和应用需求,设计和发展传统的数据模型,研究新的可扩充的数据库系统,为用户提供强大的系统和良好的人机界面。目前,主要的做法有:使用构造DBMS生成器;使用扩展关系模型(混合模型);使用语义模型;打破关系约束的NF,模型;面向对象模型。
由于历史的原因,早期的工程数据库均采用传统的数据模型,即层次、网状、关系模型。由于关系数据模型具有严谨的理论、清晰的概念,因此不少系统都是建立在扩展的关系模型上的,去适应工程数据库系统的需要。然而由于关系模型将实体与实体间不同的联系统一按关系处理,牺牲了不少语义信息,加之关系模型的面向记录的模式以及单一的数据类型不能自然表达复杂的对象结构,因此,工程数据库的功能受到一定的限制。目前人们开始研究新的语义数据模型,特别是面向对象的数据模型已受到重视。由于这种数据库模型具有较强的语义建模能力,它的许多特点非常适合工程数据库特别是图形图象数据库,是一种很有希望的方法。
基于数据库管理系统来实现工程数据管理,是在数据库技术得到发展的基础上,将特定工程数据分类、分阶段存于数据库,便于数据独立和共享,便于管理和使用。对于传统的数据库结构模型。经过改造和扩展,开发成更适合于工程应用需要的能有效保证工程数据管理的系统,如工程设计知识库、工程图形数据库等,在工程应用需求推动下,发展较快。
机械CAD数据主要包括产品设计数据、产品模型数据、图形数据、材料数据、成组技术编码数据、测试数据等。它应包括物理特性、材料特性、零件规格、数学模型、经验公式的数学描述、几何形体描述与几何尺寸、规范和标准等,内容极为广泛。其表现形式除了数值、文字信息之外,还有大量的几何图形信息。其特点是数据量大,种类多,结构复杂。
为了适应工程数据管理和应用需求,要对传统的数据模型进行发展和改造或重新设计新的数据模型,通常的方法有:
(l)基于关系数据库的数据模型:RDBMS要求所有关系表均满足1NF,因而用关系表达复杂对象时,对象实体的各属性需要分拆在数个关系表中,因而可以在RDBMS之上开发一附加层,专门完成“关系←→对象”的互换工作,从而使实体外部对象与内部对象之间能自然映像。
(2)新一代数据模型主要有:1)从排除1NF限制出发而提出的NF,模型,NF2从结构上对关系模型进行了扩充,允许属性既可以是原子类型也可以是关系本身,因此能表达“表中表”,可以将层次结构的对象作为一个整体存于数据库,当存取某个对象是无须进行显式的连续操作;2)排除1NF限制并允许属性为函数或过程既是关系模型在语义方向上的扩充,如POSTGRES系统,它支持关系之间的继承并允许在关系上定义函数和运算符,从而大大提高了复杂对象的建模能力;3)为了表达各种复杂的语义关联,提出了许多语义数据模型,其中SAM模型为CIMS数据库库设计提供了一个很有力的工具,由于语义数据模型的复杂性,语义模型只是被用作数据库设计中的一种概念建模工具;4)面向对象(OO)的数据模型,00模型的核心为“抽象数据类型+继承性+对象标识符”,采用00模型的模型的面向对象的数据库(OODB)是随着面向对象程字设计的技术发展而应运而生。OODBMS支持复杂对象、对象标识和对象继承、对象的封装性、层次结构的类或型、具有计算完备性和可扩充性等。
随着现代工业的发展,现代工业的整体分工与合作的日益完善,特别是标准化和通用化技术的发展,企业产品的系列化工作就变得日益重要。而对产品信息的管理也变得很重要,并且,由于系列化产品之间在特征尺寸和图形表达上都具有一定的共性。如何有效地记录这些信息,特别是应用到图形驱动中,普通的数据库(存储简单的数据信息)对图形特征数据的存储较为困难,而工程数据库能存储具有工程特性信息的内容。
为了适应工程数据库管理和应用需求,设计和发展传统的数据模型,研究新的可扩充的数据库系统,为用户提供强大的系统和良好的人机界面。目前,主要的做法有:使用构造DBMS生成器;使用扩展关系模型(混合模型);使用语义模型;打破关系约束的NF,模型;面向对象模型。
由于历史的原因,早期的工程数据库均采用传统的数据模型,即层次、网状、关系模型。由于关系数据模型具有严谨的理论、清晰的概念,因此不少系统都是建立在扩展的关系模型上的,去适应工程数据库系统的需要。然而由于关系模型将实体与实体间不同的联系统一按关系处理,牺牲了不少语义信息,加之关系模型的面向记录的模式以及单一的数据类型不能自然表达复杂的对象结构,因此,工程数据库的功能受到一定的限制。目前人们开始研究新的语义数据模型,特别是面向对象的数据模型已受到重视。由于这种数据库模型具有较强的语义建模能力,它的许多特点非常适合工程数据库特别是图形图象数据库,是一种很有希望的方法。
基于数据库管理系统来实现工程数据管理,是在数据库技术得到发展的基础上,将特定工程数据分类、分阶段存于数据库,便于数据独立和共享,便于管理和使用。对于传统的数据库结构模型。经过改造和扩展,开发成更适合于工程应用需要的能有效保证工程数据管理的系统,如工程设计知识库、工程图形数据库等,在工程应用需求推动下,发展较快。
机械CAD数据主要包括产品设计数据、产品模型数据、图形数据、材料数据、成组技术编码数据、测试数据等。它应包括物理特性、材料特性、零件规格、数学模型、经验公式的数学描述、几何形体描述与几何尺寸、规范和标准等,内容极为广泛。其表现形式除了数值、文字信息之外,还有大量的几何图形信息。其特点是数据量大,种类多,结构复杂。
为了适应工程数据管理和应用需求,要对传统的数据模型进行发展和改造或重新设计新的数据模型,通常的方法有:
(l)基于关系数据库的数据模型:RDBMS要求所有关系表均满足1NF,因而用关系表达复杂对象时,对象实体的各属性需要分拆在数个关系表中,因而可以在RDBMS之上开发一附加层,专门完成“关系←→对象”的互换工作,从而使实体外部对象与内部对象之间能自然映像。
(2)新一代数据模型主要有:1)从排除1NF限制出发而提出的NF,模型,NF2从结构上对关系模型进行了扩充,允许属性既可以是原子类型也可以是关系本身,因此能表达“表中表”,可以将层次结构的对象作为一个整体存于数据库,当存取某个对象是无须进行显式的连续操作;2)排除1NF限制并允许属性为函数或过程既是关系模型在语义方向上的扩充,如POSTGRES系统,它支持关系之间的继承并允许在关系上定义函数和运算符,从而大大提高了复杂对象的建模能力;3)为了表达各种复杂的语义关联,提出了许多语义数据模型,其中SAM模型为CIMS数据库库设计提供了一个很有力的工具,由于语义数据模型的复杂性,语义模型只是被用作数据库设计中的一种概念建模工具;4)面向对象(OO)的数据模型,00模型的核心为“抽象数据类型+继承性+对象标识符”,采用00模型的模型的面向对象的数据库(OODB)是随着面向对象程字设计的技术发展而应运而生。OODBMS支持复杂对象、对象标识和对象继承、对象的封装性、层次结构的类或型、具有计算完备性和可扩充性等。
5.2对象模型到关系数据库结构的映射
对象是有实体所包含的一组数据和施加于这些数据上的操作组成的。现实世界中所有概念实体被模型化为对象。对象描述的所有的概念实体,从简单到复杂的实体,允许把复杂对象表示成一个循环递归的对象,而且每个对象是唯一可标识的。基于对象和类的概念,使之能建立高度结构化的数据模型,更能反映复杂的现实世界的语义关系。
面向对象是一种新的程序设计方法学,它吸收了传统方法的数据抽象,信息隐蔽,模块化等思想,强调以对象作为问题分析、系统设计的主体,是软件牙;统与客观世界之间自然的对应关系。面向对象方法按照人们习惯的思维方式建立问题模型和构造系统,使软件系统更易于理解和维护,它的继承和多态等技术为软件复用和扩充创造了条件。采用面向对象方法来设计数据库,对数据库中的表格字段的具体类型没有限制,即可以设计层次、网状数据库,又可以诊汁关系型和面向对象型数据库。使用统一的面向对象设计技术,可以提高数据库和程序编码的完整性。面向对象数据库系统是把面向对象技术和传统的数据库技术结合集成在一个系统中,支持面向对象数据模型和对象操作、集合操作一体化,适合于工程中的应用。但是从目前的技术和市场上看,面向对象数据库在技术上不完全成熟,缺乏统一的国际标准,市场上应用极少。而关系型数据库是在市场上比较流行,经实践证明成熟可靠的数据库管理系统,与高级详言的接口已经建成。因此,可以通过将对象模型映射成关系型数据库结构来多现对象数据的存储和操作。
关系数据库逻辑上是“表”的集合,这种表具有固定列数和任意的字段数。表的列名称可直接与对象模型中的属性相关,行可以对应于类实例和链,各个表的行列交叉点用来存储基本类型的数据。对象模型到数据库结构的映射就是将规范化的类属性、关联关系和归纳关系映射成具体特定结构的一张或多张表棒型,对象的存储就是实例的属性值、关联表示值和归纳表示值存入相应的表中。
每个类都可映射成一张或多张表,图5-1是点类映射成表的例子。
面向对象是一种新的程序设计方法学,它吸收了传统方法的数据抽象,信息隐蔽,模块化等思想,强调以对象作为问题分析、系统设计的主体,是软件牙;统与客观世界之间自然的对应关系。面向对象方法按照人们习惯的思维方式建立问题模型和构造系统,使软件系统更易于理解和维护,它的继承和多态等技术为软件复用和扩充创造了条件。采用面向对象方法来设计数据库,对数据库中的表格字段的具体类型没有限制,即可以设计层次、网状数据库,又可以诊汁关系型和面向对象型数据库。使用统一的面向对象设计技术,可以提高数据库和程序编码的完整性。面向对象数据库系统是把面向对象技术和传统的数据库技术结合集成在一个系统中,支持面向对象数据模型和对象操作、集合操作一体化,适合于工程中的应用。但是从目前的技术和市场上看,面向对象数据库在技术上不完全成熟,缺乏统一的国际标准,市场上应用极少。而关系型数据库是在市场上比较流行,经实践证明成熟可靠的数据库管理系统,与高级详言的接口已经建成。因此,可以通过将对象模型映射成关系型数据库结构来多现对象数据的存储和操作。
关系数据库逻辑上是“表”的集合,这种表具有固定列数和任意的字段数。表的列名称可直接与对象模型中的属性相关,行可以对应于类实例和链,各个表的行列交叉点用来存储基本类型的数据。对象模型到数据库结构的映射就是将规范化的类属性、关联关系和归纳关系映射成具体特定结构的一张或多张表棒型,对象的存储就是实例的属性值、关联表示值和归纳表示值存入相应的表中。
每个类都可映射成一张或多张表,图5-1是点类映射成表的例子。
关联映射成表的方法是:首先将关联的二个类映射成各自的表,然后再用二个类的标识属性作成关键字,构成一张索引表。
聚集的映射规律和关联相似。用聚集可以描述复杂对象。图5-2是直线到表时射的一个例子。继承是面向对象中的一个重要的方法。继承的常规映射方法是原位法,它将父类和子类都在原位映射成相应的表,父类和子类通过关键字来表示对象标识,这种方法逻辑上清晰且可扩展,但涉及的表较多。继承到表映射方法还有“上升法”和“下降法”。上升法是将父亲的属性“下降”复制到各个子表中从而省去父表,该方法适合于父类属性较少,具体应用中知道应诊寻找哪个子类实例的场合。下降法是将各个子类的属性都“上升”复制到父表中从而省去所有子表,父表中包括含了描述父类所有属性的字段。该方法适合于父类属性较多,子类个数和属性较少的场合。例如,尺寸类和线形尺寸类、角度尺寸类等尺寸之间的关系为继承,可通过上升法统一为一个类。通过将对象模型到关系数据库表的映射,可以方便地实现工程数据的管理。
聚集的映射规律和关联相似。用聚集可以描述复杂对象。图5-2是直线到表时射的一个例子。继承是面向对象中的一个重要的方法。继承的常规映射方法是原位法,它将父类和子类都在原位映射成相应的表,父类和子类通过关键字来表示对象标识,这种方法逻辑上清晰且可扩展,但涉及的表较多。继承到表映射方法还有“上升法”和“下降法”。上升法是将父亲的属性“下降”复制到各个子表中从而省去父表,该方法适合于父类属性较少,具体应用中知道应诊寻找哪个子类实例的场合。下降法是将各个子类的属性都“上升”复制到父表中从而省去所有子表,父表中包括含了描述父类所有属性的字段。该方法适合于父类属性较多,子类个数和属性较少的场合。例如,尺寸类和线形尺寸类、角度尺寸类等尺寸之间的关系为继承,可通过上升法统一为一个类。通过将对象模型到关系数据库表的映射,可以方便地实现工程数据的管理。
5.3库存-设计控制
随着企业的不断发展,产品系列及其种类的增多,仓库零件或原材料的库存量也随之变地越来越大。一般地,我们可以将库存分为三类:常用类,不常压类和不用类。常用类指使用频率很高的零件集合:不常用零件是指使用频率很较底的零件集合;不用类是指由于一些客户的特殊需求,并且设计人员在设计时仅从理论上的最优化的可行性而没有考虑到零件种类的可能增多,导致在一些以后可能永远用不上的零件集合。
随着库存量的增多,企业积压资金也越来越大,而事实上,很多种类的零件根本没有必要购买,完全可以用其他类型的零件进行代替。对零件选型的控制主要是对设计人员在零件选型过程中,让设计人员优先选用常用零件,其次是仓库已有的零件,最后才是新零件,从而减小不必要的库存费用。
随着企业的不断发展,产品系列及其种类的增多,仓库零件或原材料的库存量也随之变地越来越大。一般地,我们可以将库存分为三类:常用类,不常压类和不用类。常用类指使用频率很高的零件集合:不常用零件是指使用频率很较底的零件集合;不用类是指由于一些客户的特殊需求,并且设计人员在设计时仅从理论上的最优化的可行性而没有考虑到零件种类的可能增多,导致在一些以后可能永远用不上的零件集合。
随着库存量的增多,企业积压资金也越来越大,而事实上,很多种类的零件根本没有必要购买,完全可以用其他类型的零件进行代替。对零件选型的控制主要是对设计人员在零件选型过程中,让设计人员优先选用常用零件,其次是仓库已有的零件,最后才是新零件,从而减小不必要的库存费用。
实质上,这是设计人员在设计思维的一个转变:设计最优化转向设计选型最优化。对一个企业来说,设计的最优化不一定是最好的选择,应该将设计的最优化向企业的实际靠拢,即选型通用化,而实现选型通用化需要对设计人员进厅有效的控制。具体实现流程见图5-3。
在此系统中,选型通用化的过程是对工程数据库的有条件检索,而整个过程是一个迭代的结果,当然,从实用的角度来看,迭代次数不易多(一般<15)。
5.3.1工程数据库的建立
工程数据库的对象模型选用成熟的关系型数据库。将一个企业中库存的零件分为常用零件、非常用零件以及新购零件。事实上,根据新购零件的使用频繁度,一部分将列入常用零件,另一部分将列入非常用零件。
划分常用零件与非常用零件的依据是:详细划分各种系列产品中对应的零件,分为常用要求和非常用要求二种状态,常用要求下对应下的零件集合为常用零件:非常用要求下对应下的零件集合,减去常用零件集合为非常用零件,即扣除常用零件便得非常用零件。具体过程见图5-4。
工程数据库的对象模型选用成熟的关系型数据库。将一个企业中库存的零件分为常用零件、非常用零件以及新购零件。事实上,根据新购零件的使用频繁度,一部分将列入常用零件,另一部分将列入非常用零件。
划分常用零件与非常用零件的依据是:详细划分各种系列产品中对应的零件,分为常用要求和非常用要求二种状态,常用要求下对应下的零件集合为常用零件:非常用要求下对应下的零件集合,减去常用零件集合为非常用零件,即扣除常用零件便得非常用零件。具体过程见图5-4。
在工程数据库中,数据库的对象模型参数有:零件名、零件类型、零件特性尺寸、是否常用、零件辅助尺寸、零件的几何形状。其中,零件特性尺寸是确定具体类型的要素,而零件的几何形状是零件图形单元的绘制的依据,是对零件拓扑关系的描述。下面以螺栓系列为例,由数据模型向表结构进行转换,从复杂的结构层层转化为单一的结构,进行详细的叙述,见图5-5。
5.4项目信息管理
项目信息管理模块中的信息存储一种典型的关系型 工程数据库,建立此类数据库的核心是对其E-R(实体-关系)图的描述以及由E-R图向数据库表结构的正确的转化。
5.4.1E-R图原理
根据面向对象(00)的实体建模思想,选择在现实世界里存在的实体(object)乍为研究对象,充分利用实体的内部特性和实体与实体之间的关系。而其数学化描述既是,详细描述实体的内部属性、内部属性之间的关系以及实体与实体之间的关系,在这个实现过程中,重要的是合适的选择实体对象,保证属性和关系描述全面、清晰,进一步实现面向对象向数据库E-R模型转化。E-R模型是描述中实体(Entity)与联系(Relationship)的逻辑关系,是现实世界在经过选择、命名、分类等抽象工作后在信息世界的具体反应。在E-R图中,长方形表示实体型;椭圆表示实体的属性;菱形表示实体间的联系。E-R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、和概念的人为处理。它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述。这些概念组成了某种模型。E-R模型对现实世界有三种抽象:
1、分类(Classification):定义某一概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is numberof”的语义。在E-R模型中,实体型就是这种抽象。例如在企业环境里,大庆油田3的减速机的订购是一个企业项目(见图5-6),表示大庆油田3的减速机的订购是企业项目的一个,具有企业项目共同的特性和行为:项目号,项目名,项目开始时间,项目结束时间以及项目费用等。
根据面向对象(00)的实体建模思想,选择在现实世界里存在的实体(object)乍为研究对象,充分利用实体的内部特性和实体与实体之间的关系。而其数学化描述既是,详细描述实体的内部属性、内部属性之间的关系以及实体与实体之间的关系,在这个实现过程中,重要的是合适的选择实体对象,保证属性和关系描述全面、清晰,进一步实现面向对象向数据库E-R模型转化。E-R模型是描述中实体(Entity)与联系(Relationship)的逻辑关系,是现实世界在经过选择、命名、分类等抽象工作后在信息世界的具体反应。在E-R图中,长方形表示实体型;椭圆表示实体的属性;菱形表示实体间的联系。E-R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、和概念的人为处理。它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述。这些概念组成了某种模型。E-R模型对现实世界有三种抽象:
1、分类(Classification):定义某一概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is numberof”的语义。在E-R模型中,实体型就是这种抽象。例如在企业环境里,大庆油田3的减速机的订购是一个企业项目(见图5-6),表示大庆油田3的减速机的订购是企业项目的一个,具有企业项目共同的特性和行为:项目号,项目名,项目开始时间,项目结束时间以及项目费用等。
2、聚集(Aggregatopm):定义某一类型的组成部分。她抽象了对象内部类型和成分之间“is part of”的语义。在E-R模型中若干属性的聚集组成了实体的就这种抽象。如图5-7。
3、概括(Generalization):定义类型之间的一种子集联系。它抽象了类型之间的“is ubset of”的语义。例如项目是个实体型,机械类项目也是实体型,化工类项目也是实体型。机械类项目、化工类项目均是项目的子集。我们把项目称为超类(Superclass),将机械类项目、化工类项目成为项目的子类(Subclass),见图5-8。
由E一R图向关系模型的转换规则:
(a)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
(b)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性,该关系的码有三种:
·如联系为1:1,则每个实体的码均是该关系的侯选码。
·如联系为1:n,则关系的码为n端实体的码。
·如联系为n:m,则关系的码为诸实体码的组合。
5.4.2具体实现
对于项目信息管理系统,有自己的特殊性,从逻辑结构上说,他是一个典型的树型结构,每个节点除根节点外,有自己的子节点;每个节点除最外层子节点外,有自己的父节点。在本系统中,项目是整个树结构的根节点,而个图纸内容是最外层子节点,项目是设备图纸和小样图的父节点,图纸、小样图又是图纸内容的父节点,见图5-9。
(a)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
(b)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性,该关系的码有三种:
·如联系为1:1,则每个实体的码均是该关系的侯选码。
·如联系为1:n,则关系的码为n端实体的码。
·如联系为n:m,则关系的码为诸实体码的组合。
5.4.2具体实现
对于项目信息管理系统,有自己的特殊性,从逻辑结构上说,他是一个典型的树型结构,每个节点除根节点外,有自己的子节点;每个节点除最外层子节点外,有自己的父节点。在本系统中,项目是整个树结构的根节点,而个图纸内容是最外层子节点,项目是设备图纸和小样图的父节点,图纸、小样图又是图纸内容的父节点,见图5-9。
对于这种特定的结构,要从最高层起,层层推进,由E-R模型和系统结构综合出总的E-R图,再根据E-R图转化规则,将E-R图转化为数据模型,最外层子节点完全属性的,是完全依附对象的,它没有E-R模型,具体做法:
1、列出最高层的E-R模型。在“项目信息管理”系统里,以项目为研究起点,详细分析它的每一个属性。同图5-7。
2、根据图5-9,第二层的E-R模型有设备图纸和小样图模型,分别见图5-10a和图5-10b。
3、根据图5-9,第三层的E-R模型是小样图图纸模型,见图5-11。
4、综合E-R模型和系统的树形结构以及实体对象之间的关系,总的E-R图如下(图5-12):