OODB-对象关系数据库系统模型和映射规则的研究

来源 :中国集体经济 | 被引量 : 0次 | 上传用户:yangmx198808
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章提出一个对象关系数据库系统模型:在业务逻辑层和关系数据库的物理存储结构中间增加一个OR代理层,代理层为用户应用程序提供统一接口,并结合RDBMS透明地完成对象和关系数据库之间的转换,解决对象数据的存储查询等操作。文章对OR代理的关键内容即模型结构和映射规则进行了定义和描述。
  关键词:面向对象;关系数据库;对象关系数据库;映射
  
  一、前言
  
  随着数据库技术的发展,数据库应用领域已经从传统的商务数据处理扩展到许多新的应用领域,例如处理空间数据、时间数据、工程设计数据、超文本和多媒体数据等,原有的数据库系统很难适应这些新的应用领域中的复杂对象和这些对象的复杂行为的需求。新的应用需求推动了数据库技术的研究,其中最重要的研究方向之一就是使用一种与人们认识客观事物的过程一致的方法,这就是面向对象的方法,它是面向对象技术与数据库技术相结合的产物。在适应计算机应用的现实特性和发展趋势上,面向对象的方法表现出了多方面特有的优越性,它的兴起从整体上反映和概括了计算机发展的历史。
  面向对象技术能够大大提高软件开发的效率及其可靠性、可维护性、可重用性,越来越多的软件开发机构和科研人员开始使用面向对象技术进行系统分析、设计、编制程序。然而在数据库领域,面向对象数据库产品却未真正成熟,关系数据库产品依然是开发MIS的必然选择。占主导地位的关系数据库成为了面向对象系统架构中对象与关系数据库转换的“瓶颈”。将oo(object oriented)技术的优越性与成熟的关系数据库技术有机地结合起来,是一个很有应用价值的研究课题。本文提出一个对象关系数据库系统模型:在业务逻辑层和关系数据库的物理存储结构中间增加一个OR代理层,代理层为用户应用程序提供统一接口,并结合RDBMS透明地完成对象和关系数据库之间的转换,解决对象数据的存储查询等操作。
  
  二、面向对象数据库发展
  
  (一)面向对象数据特点
  Peter Coad和Edward Yourdon这样描述面向对象:面向对象=对象+分类+继承+消息。其中对象指一组属性及这组属性上专用操作的封装体。类是一组具有相同属性和操作的对象描述。继承是类之间一种基本关系,指某个类的层次关联中不同类共享属性和操作的机制。消息是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。此外,面向对象数据特点还有封装、信息隐蔽、消息传递、多态性等。综上所述,面向对象数据与现实世界实体对象一一对应,具有传统数据库数据不具有的两大特性,即内容海量性和结构复杂性,它们是构建新型数据库的基础。
  (二)传统数据库局限性
  1、不能表示客观世界复杂对象。采用二维表表示数据及其关系,语义表示能力差,无法表示客观世界复杂对象,不能揭示数据之间深层含义和内在联系,缺乏数据抽象。
  2、缺少对复杂数据类型支持。只能理解、存储和处理简单数据类型,不能根据客户需要动态扩大数据集。碰到复杂问题常利用高级程序设计语言构造相应数据类型和操作,既加重用户负担,又不能保证数据一致性。
  3、数据结构不能与行为相关联。对象有两方面内容,即结构和行为。传统DB把前者映射到数据库模式中,对后者没有很好实现。
  4、阻抗失配和语义断层,不能与高级程序设计语言无缝集成。传统DB开发需同时使用数据库语言(SQL)和高级程序设计语言,涉及模式和结构转换问题,既容易丢失原数据结构语义,又妨碍其他工具和用户在原有语义层次上共享数据。
  5、缺乏管理知识和对象的能力。传统DB处理对象是确定的、现存的,不能很好地处理和管理实际应用中的二义性、未知对象。此外,它们没有演绎和推理功能,不能很好地管理知识,无法满足MIS,DSS,OA和AI等领域进行高层管理和决策的要求。
  6、不能满足巨型数据库应用需要。随着多媒体技术、空间信息科学和数据挖掘技术等学科的蓬勃兴起,处理的海量数据已非一般二维表可存储和管理,而且数据结构越来越复杂,有的还有语义动作,使传统数据库显得力不从心。
  另外,传统数据库还不能主动检查和处理事件,缺乏对长事务和多重嵌套事务的响应和处理能力。
  综上所述,传统数据库已不能满足复杂的实际应用需要,随着面向对象研究的深入,把面向对象设计方法和数据库技术结合形成新一代数据库系统——面向对象数据库系统,不仅是数据库学科发展需要,也是推进计算机其他分支健康发展的必然结果。
  (三)面向对象数据库概念
  面向对象数据库系统(OODBS)支持定义和操作OODB,应满足两个标准:首先它是数据库系统,其次它也是面向对象系统。第一个标准即作为数据库系统应具备的能力(持久性、事务管理、并发控制、恢复、查询、版本管理、完整性、安全性)。第二个标准就是要求面向对象数据库充分支持完整的面向对象(OO)概念和控制机制。
  综上所述,我们将面向对象数据库简写为:面向对象数据库=面向对象系统+数据库能力。
  
  三、面向对象数据库技术——对象关系数据库
  
  (一)系统模型
  系统模型(如图1所示),包括3个层次:业务逻辑层、OR代理层和物理存储层。
  


  1、业务逻辑层。业务逻辑层是程序开发人员或者用户所接触的接口层,在这个层次上是完全的面向对象内容。业务逻辑层由很多接口组成,例如应用程序接口是专门为特定的应用程序开发的面向对象接口;领域接口针对具体的应用领域,它与领域有关(或垂直定向),例如有些领域接口用于健康保健上的应用程序,它们仅适用于这个领域;其他一些接口适用于金融、制造业、通信等领域。业务逻辑层还可以包括其他类型的接口,例如多领域接口表明它们适用于多个领域。
  2、OR代理层。OR代理层是系统的关键层和核心层。它是与领域无关的(或水平定向的)代理层,用于完成OO和RDB的相互映射和转换。它由4个模块组成:预处理/后续处理模块;OSQL/SQL转换器;OO/RDB映射转换器;RDBMS是成熟的关系数据库管理系统。
  3、物理存储层。系统的最底层是物理存储层。在数据存储的结构上,仍然采用关系数据库的形式。可见,该系统模型是对传统关系数据库的扩展,是把面向对象技术与关系数据库相结合而建立的一个对象关系数据库管理系统(ORDBMS)。其具有以下优点:(1)与纯粹的面向对象数据库管理系统(OOD2BMS)相比,系統充分考虑结合了现有RDBMS的优点,并且在当前的数据库理论和技术现状下,具有更好的可实现性;(2)与当前普遍使用的两层构架模型相比,该系统的逻辑更加清晰。同时,由于OR映射层对业务逻辑层提供了统一的面向对象接口,用户和程序员编码时可以将更多的精力放在具体领域的业务实现上而不是关系数据库与类实例的转换上。
  (二)映射规则
  OR映射是系统的关键功能,而OO/RDB映射转换器是实现该功能的主要模块。因此,根据面向对象理论和关系数据库的特点,重点讨论和制定映射规则。总体映射思路如表1所示:
  


  1、没有继承关系的类映射规则:对于没有继承关系的一个类映射为一个表,其中表名取类名,对象标识符对应表的一个主键,表的对象属性对应表列且以属性名作为列名。另外,因为表中的列除了来自该对象的属性外,可能会因为关联、概括等关系而有所扩充,因此表列个数应大于或等于属性个数。同样原因,表的主码可能包括除对象标识符对应主键以外的其他键。
  2、类层次映射。对于存在继承关系的3个类OA、OB和OC,不妨设OA是OB和OC的共同父类,则该类层次映射到数据表,可以根据具体情况的不同采用以下三个规则:(1)将整个类层次映射为单个数据表,表中包括所有类(基类、子类)的属性。该规则的优点是实现简单,且支持多态,而且因为表中包含了所有信息,报表操作簡单。缺点是增加了类层次中的耦合,类层次中任何类属性的更改会导致表结构的更改,即会影响到整个层次结构而不仅仅是该类的子类;浪费了大量的数据库存储空间。(2)将处于继承层次最底层的各个具体类分别映射到一个数据表,每一个表包含OID、具体类本身的属性和它继承的属性,而抽象的基类则不参与映射。该规则的优点是报表操作实现简单,表中包含了具体子类的所有信息.缺点是类的修改会导致其所有子类对应表的更改;角色的更改会造成ID的重新赋值(因为不同子类的ID可能重复);难以在支持多重角色时保持数据的完整性。(3)每个类均映射为一个数据库表,表中包含特定于该类的属性和OID,其父类的OID也作为外键存在与表中,作为指针指向该类从父类所继承属性的属性值。该规则与面向对象概念的一致性及对多态的支持最好,易于修改基类和增加新的类。缺点是映射后的数据库中存在大量的表,系统访问对象属性时要涉及多个表,需要较长的时间,对报表的支持较差。
  3、类方法和类事件映射规则:方法和事件是其值不能静态存储在数据库中而只能动态执行相关程序计算得到的一种特殊的属性。在标准RDB模型中并没有支持用户自定义函数和过程的机制。可幸的是多年来一些商业化RDBMS产品已提供了这些功能,SQL标准也开始考虑包含这一功能,成为PSM子程序(包括了用户自定义函数和过程),这样就能够建立方法和事件定义到PSM子程序定义的映射中。另外,方法调用的一个显著特性就是多态,即动态捆绑。因此,仅把方法和事件调用映射为相应的PSM子程序调用是不够的,需要在方法调用被映射后的目标代码中包含PSM子程序以及该子程序调用的动态解决方案。一般的方法是将方法调用映射为case语句,在case语句中列出所有捆绑的条件和各种情况下相关PSM子程序的调用。类方法和事件的映射是与语言相关的程序翻译问题,与具体的RDBMS相关,因此需要人工来完成。
  4、类间关系映射。类间关系有很多种,例如继承、组装、聚合等等。规则2处理了继承关系,对于其他的所有关系可以归结为三种类型:一对一、一对多和多对多关系。类间关系映射为一个关系表,规则如下:如果两个对象之间存在一对一关联,则在两个对象映射表中任选一个加入另一个对象映射表的主键作为自己的外键;如果两个对象之间存在一对多关联,则在“多”方对象映射表中加入“一”方对象映射表的主键作为外键;如果两个对象之间存在多对多关联,则产生对应该关联的表,它由两个对象对应表的所有主键组成,并以它们作为自己的主键。
  
  四、结束语
  
  对象关系数据库系统模型为OR映射提供了明确的思路和有章可循的方法,能够有效降低实际开发难度和工作量、规范映射模型、使业务逻辑部分和数据存储部分达到了松耦合。
  面向对象数据库和关系数据库之间的运算转换,在多重数据库互操作研究中是一个重要的环节。本文中,讨论了对象关系数据库的体系结构及其映射规则。这些工作对于对象关系数据库的实际应用具有一定的现实意义。
  
  参考文献:
  1、王意洁.面向对象的数据库技术[M].北京:电子工业出版社,2003.
  2、Ian Graham著,袁兆山译.面向对象方法原理与实践[M].北京:机械工业出版社,2003(3).
  3、Scott.W.Ambler著,车皓阳、刘锐译.面向对象软件开发教程[M].北京:机械工业出版社,2003(3).
  (作者单位:湖北工业大学计算机学院)
其他文献
孩子是家庭的希望,国家的未来,更是父母生命的延续。因此,教育好孩子是每一个身为父母者都必须面临的问题。纵观人类社会发展的历程,有谁不关注自己的孩子呢?有谁不希望“儿成龙,女成凤”呢?答案当然是否定的。难怪常言道“可怜天下父母心”。  但是,教育好孩子是一个长期而又复杂的工程,来不得半点的怠慢,因为人是天底下最高级的动物,他的成长不仅仅包括物质上的供给,还包括身体的、心灵的、情感的、学业的、工作的等
期刊
第一:从认为家庭教育就是家庭内部的事情,发展到家庭教育是关系社会文明进步的事情;  第二:从认为家庭教育的任务就是指导孩子学习生活技能、处理家庭人际关系,发展到家庭教育是促进家庭成员的身心健康和两代人共同成长的有效途径;  第三:从认为家庭教育就是家长(父母大人)对于子女的教育,发展到家庭成员之间的互相学习,甚至是家长要向孩子学习方向转变;  第四:从认为家庭教育只是对学前孩子的教育,发展到终生教
期刊
内容摘要:本文从活动的缘起及过程、主要特点及相关评价、引发的思考等三个维度对2012年历时7个月的“金华市十大智慧父母评选活动”进行解剖,并从中提炼出“选择恰当的主题是活动取得成功的基础”、“有热情、有专业、能整合是第三部门作用发挥的关键”、“平等、互动、正能量是本次全媒体传播的特点”三点思考。  主题词:智慧父母;评选活动;思考;报告  引导父母科学育儿、引领家庭教育健康发展,一直是教育领域的重
期刊
一、人力资本实现所有权的复杂性    为了迅速扩大企业规模,同时,也因为单个资本无法承担过多的市场风险,出现了实物资本所有者的联合,股份制企业得到发展。此时,企业所有权安排是不同实物资本所有者作为一个整体对剩余权利的完全占有,所有权安排的实现需要在不同实物资本所有者之间分配企業的全部剩余权利。  在股份制企业中,实物资本所有者以其投入共担风险,投资多就意味着所有者所承担的市场风险份额多,与之相应,
期刊
摘要:银行信贷员必须能够识别假报表、错报表,如果企业的报表假到不能真实反映企业的资产、负债、所有者权益、收入、费用、利润的程度,而贷前调查报告、贷后检查报告、五级分类报告、资信评级报告、企业授信报告、利率定价报告这七种报告往往会根据假报表做出一系列假报告,因此,作为银行信贷员将会计报表去伪存真是基本技能。  关键词:会计报表;信贷管理  一家银行分管信贷的老总最好要具备会计师、经济师、律师、经营分
期刊
投资银行,即以证券承销和证券经纪为基本业务的机构。投资银行在各国的名称并不一致,投资银行(Investment Bank)主要是美国的称谓,在英国以及澳大利亚等国称为商人银行(Merchant Bank),在日本称为证券公司(Security Firm),虽然称谓不同,但性质是相同的。  我国的资本市场经过十几年的发展,已初具规模,在我国资本市场的发展过程中所出现的证券公司即是我国的投资银行,它在
期刊
随着测绘技术的不断进步,常规测量仪器的不适应现代发展需要,随之而生的电子仪器测取代了常规测量,如全部仪、GPS(卫星定位系统)。尤其GPS测量,以其限定条件少、操作简单、灵活、高自动化的内业处理等优点,为测绘领域开辟了一条新途径。  应用GPS实施控制测量外业比较简单,既采取静态相对定位模式,观测独立基线边,构成三角网或其它闭合图形(以利于观测成果的检验,增加网的强度,提高成果的可靠性和精确性),
期刊
摘要:网络风险作为一种比较复杂的形式存在于产业集群之中,并阻碍着产业集群的发展。文章以温州柳市低压电器产业集群为例,运用AHP分析方法,试图找出影响温州柳市产业集群发展最为重要的阻碍因素。  关键词:产业集群;网络风险;AHP  产业集群的不断演进并不是一种绝对的范式,而只是一种理想、完美的相对状态。产业集群同样也存在着风险,其中网络风险作为产业集群最为重要的一种风险,也成为学术界关注的热点,如T
期刊
一、设计的基本要求    对于电阻应变片式测力传感器(以下简称“测力传感器”)来说,弹性体的结构形状与相关尺寸对测力传感器性能的影响极大。可以说,测力传感器的性能主要取决于其弹性体的形状及相关尺寸。如果测力传感器的弹性体设计不合理,无论弹性体的加工精度多高、粘贴的电阻应变片的品质多好,测力传感器都难以达到较高的测力性能。因此,在测力传感器的设计过程中,对弹性体进行合理的设计至关重要。  由此可见,
期刊
一、引言    本文试图解决在中部省份,金融发展与经济增长是否存在因果关系的问题。在目前的文献中,对中部省份的实证研究还很少,尤其是使用多个省份的面板数据,因此本文的主要创新之处便在于研究的对象及研究的方法,更为重要的是现有的文献在选取表达金融发展变量上,很少将资本流动作为解释变量,而根据Edison(2002)和Levine(2001)的研究,资本流动对金融的发展,进而对经济的增长有着正向的促进
期刊