版权归原作者所有,如有侵权,请联系我们

[科普中国]-工程数据库

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

发展

工程领域对数据组织的要求并非现在才有,早在计算机时代之前,工程师已经系统地使用组表(settables)、图表(picturetables)和工程图来描述整个系统的流程和结构。在通常的人工方法中,用工程图表来描述这些信息,工程师之间也用图表进行交流。工程制图中,信息意义的理解仅仅依赖于人的知识及认知能力。工程图表并不是工厂的最终产品,但当需要时,应当是一种输出形式。这些都涵盖着工程数据库的雏型。

计算机辅助设计(CAD)的出现,产生了对大量数据管理两个方面的迫切需求:一方面是工程用的计算机程序;另一方面是CAD在大型系统中的应用。这些都给数据组织带来了加倍的困境,即使在计算机程序环境中,情况也无两样。随着工程用计算机程序能够逐步处理复杂问题,在磁盘上存储数据就越来越普遍。但数据的复杂性使之在数据存储方式上太繁琐,从而几乎不可能做到对数据的有效、方便使用。一个简单的卫星总体设计需用软盘40片至50片,如管理不科学,则更容易给数据组织造成混乱。特别在修改某个数据时,你无法确切地知道数据修改会影响到哪些数据组织的变化和要做哪些相应的修改。

自从1970年E.F.Codd研究员发表了“大型共享数据库数据的关系模型”等一系列数据库论文以来,奠定了关系型的理论基础,开创了数据库规范化理论的新纪元,标志着常规数据库技术已进入成熟。这些研究与发展无疑对工程领域中所遇到的一些困惑提出了较好的解决办法。

在1985年第四届国际工程软件会议上,详细讨论了工程数据库在集成工程设计中的显著作用、工程数据库管理系统(EDBMS)的特点、工程数据库管理的类型以及它们的术语。这些讨论加速了工程领域中对现行的3种模型如何应用到未来的CAD系统中的研究。对图形数据关系组织、关系信息管理系统设计中关于CAD和交互数据处理的一些方面提出了类型(type)、对象(object)与关系(relation)和函数概念的一个CAD数据模型。2

关键技术一.工程数据的一致性控制

一致性控制又称并发性控制,它是多用户的数据库系统必须解决的一个重要问题,它将保证多个用户同时运行一个数据库时的正确性。一般在数据库系统中用户都是以事务的方式来运行数据库的,而事务是由若干数据库语句组成的序列,它们顺序地被执行,逐步将数据库的一个状态变换到另一个状态,保持数据库的一致性。但是,在多个用户同时运行各自的事务时,为了提高运行效率,并非简单地由数据库管理系统统一来排列一个事务的运行次序,等一个事务完全执行完毕之后,再启动另一个事务的执行,而是让各事务中的语句交错地执行。因为是多个事务同时执行,那么这些事务就可能有多种执行顺序。任何一种顺序在逻辑上都是行得通的,但是否符合设计者的意图就必须确定一种判断各事务的语句的交错执行是否正确的“一致性控制要求准则”。如果各事务中的语句交错执行的效果,能与将事务一个接一个地串行执行的效果一样,则称这种交错执行是一种可串行化的事务执行。并发控制的目的是获得一种可串行化的事务执行。

2.长事务处理

工程数据库与传统的商用数据库有着本质的不同。工程数据库处理事务不可能在几秒钟内能完成,它经常进行的是长事务。例如在发动机设计时,发动机各部件的设计过程可能持续时间很长——几分钟、几小时、甚至几天才能完成。因此要求工程数据库管理系统提供长事务的功能.妥善解决与长事务有关的并发、共享和完整性约束等问题。

3.版本管理

工程设计过程具有以下特点:①一个设计过程是一个反复试探的过程,往往对于工程实体的设计采用多种设计方案进行设计比较优化;②一个工程实体是分阶段进行设计的,各个阶段性结果都是有价值的;③对于大部分新产品的设计,往往只是对原产品的某些部分进行改进,特别是对某一型号的产品的模型设计更是如此。因此,各产品之间相同部分的属性是主要的,不同部分的属性是次要的。综上所述,一个产品在设计过程中,由于性能描述方法的不同,设计方案的差异,以及性能要求的差别,在设计的各个不同阶段会形成不同设计版本。版本管理的技术就是要解决新版本的生成;统一协调地管理各个版本;有效地记录各个版本的演变历史等问题。

4.安全性控制

对于工程数据库管理系统来说,安全性的控制是十分重要的。可以根据各子系统的不同安全级要求,实现不同程度的安全控制。主要包括以下几个方面:

(1)设置用户名和口令以检查用户的身份是保证数据库安全的第一道屏障。以此决定是否允许该用户登录和以什么身份登录。

(2)设置表操作权限,不同用户对同一表可有不同授权,如读、写、删除。

(3)设置表记录操作权限,总体用来指挥和协调各子系统的文件如任务书、协调卡、性能结构参数等,这些文件对不同的子系统只授予与各自相关记录的操作权限。

(4)设置表字段的写权限,总体用来协调各子系统的文件,要求不同的子系统对这些文件只授予与各自相关的字段的写入权,如任务书、协调卡需要签字的字段。

除此之外,还应考虑由于各种设备的故障或操作失误而遭受的破坏、优化查询等。

5.工程数据字典的维护

工程数据库在运行过程中,数据库的状态和结构是在动态变化的。工程设计应用程序在使用工程数据库期间,经常会对数据库概念模式进行动态修改和扩展。在工程设计中,工程数据库中的设计数据也是逐步完成的,因而在使用过程中,数据库模式也在相应地改变,直至设计完成,一个“完整的”数据库才建造起来。所以,对工程数据的数据字典也必须经常进行维护,以便完成模式演变的情况。它主要完成整个工程数据库系统中数据库的定义及分布情况,如全局表对应的局部表名和局部表存储信息。3

特点工程数据库的特殊性体现在其数据模型及系统功能等方面,如存储管理、事务管理、版本管理、查询处理等。与传统的商业数据库相比,工程数据库的主要特点如下。

(1)数据类型复杂。例如,一个零件可能由成千上万种不同类型的数据构成,如果用关系模型的表来描述,就需要成千上万张彼此联系的表,这在性能和一致性维护上都非常困难。

(2)事务的持续时间长。工程领域的事务描述一个设计过程,持续的时问非常长(数小时到几个月),对恢复和并发控制提出挑战。

(3)版本管理。设计是一种探索性的劳动,需要不断地尝试,提出多种方案。因而,版本管理是工程数据库中一个不可或缺的功能。

因此,除了数据库的一般功能外,工程数据库必须要解决复杂工程数据的表达和处理、大量工程数据的访问效率、数据库与应用程序的无缝接口等问题,要求工程数据库必须具有强大的建模能力,高效的存取机制,良好的事务处理功能、版本管理功能,模式进化功能、灵活的查询功能、网络和分布式功能等。

由于工程数据的复杂性和管理的特殊要求,目前还没有很合适的数据模型来描述。实际中的做法是将传统的数据模型加以扩充以适应工程数据的需要,归纳起来主要有扩充的关系模型、扩充的网状模型、语义模型、混合模型。面向对象数据模型比较适合复杂数据的表达与处理,工程数据库的需求是面向对象数据库系统的研究动因之一。4

功能工程数据库的功能可归纳如下:

·支持多种工程应用程序。工程数据库是CAD/CAM集成系统的核心,可支持多种工稻应用程序,并且提供一种继续开发新应用程序的环境。

·支持动态模式修改和扩充。由于工程设计过程的基本特点是产生新的数据。为了发席设计,动态地修改和扩充数据库模式的能力是十分重要的。这种修改、扩充模式的能力,应在设计过程中动态实现,而不要求数据库模式的再编译和数据的重新输入。

·支持工程设计的反复迭代特点。要求工程数据库适应工程设计的试探、反复和发展的特点。但值得注意的是,支持工程设计过程的反复、迭代特点,就要求工程数据库承认和管理暂时不一致的数据库状态。

·具有自动维护数据一致性的能力。5

查询方式查询功能要求处理能力强、效率高。在工程数据库中,为适应实际需要,存在两种对数据库进行查询的方式。

一种是联想查询,也就是关系数据库所采用的查询方式。即根据用户提供的条件,在数据库的当前环境中查询检索符合条件所有对象。

另一种是导航式查询。由于工程数据库具有数据量大且数据问关系复杂的特点,而联想查询不仅速度很慢,而且对复杂的对象往往很难构成合适的查询条件。因此,除了联想查询外,在工程数据库中还提供导航式查询。它主要针对复合对象的查询。

利用复合对象中对象的层次构成查询路径。查询的路径可以是很复杂的。查询过程犹如领航员导航一样。

实际的工程数据库查询处理是两者在给定应用条件下的合理折衷。6

发展方向数据库设计有两种基本方法:第一种方法是首先产生全局模式,然后由其导出局部视图;第二种方法是获取不同用户的局部视图,然后将其综合以形成全局视图。并行设计等先进现代设计方法对工程数据库提出了集成化、智能化、标准化和网络化的发展要求。在组织若干工程应用的数据时,数据库网络的概念变得日益重要。所以,工程数据库如果不符合集成化和标准化的“一体化”规范要求,就会成为CAD/CAM集成的障碍。目前,工程数据库技术的发展呈现出数据库技术与多种技术和应用相结合的特点,其源动力有两种:一种是基于方法论和计算机处理能力的发展;另一种是与多种技术的结合。前者有面向对象数据库(OODB)、分布式数据库(DDB)和多媒体数据库(MDB);后者有实例数据库、知识库、模糊数据库等。

总之,智能CAD和设计自动化的向前发展,必将把知识库(设计规则、设计方法、设计经验等)引入cAD,这就可以使计算机在cAD系统中发挥更有意义的“专家顾问”作用,而不再是被动的“技术助手”作用。7

评论
科普cuili007
庶吉士级
学习了
2023-01-01