对象模型的关系投影研究_计算机论文.docVIP

对象模型的关系投影研究_计算机论文.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象模型的关系投影研究_计算机论文.doc

对象模型的关系投影研究_计算机论文 对象模型的关系投影研究_计算机论文 摘要 本文在分析对象模型与关系模型区别的基础上,介绍了将对象模型投影成关系模型的投影原理,并结合实例详细论述了对象之间不同引用关系的不同投影方法以及继承实体的三种不同投影方法。 关键词 面向对象 数据模型 关系模型 投影 0 引言 随着我国软件开发水平的提高,越来越多的软件开发自觉地遵循软件工程开发方法。在数据库应用的开发中采用了很多软件建模或数据建模工具,如Rational Rose、PowerDesigner等。这些建模工具在需求分析、系统分析以及设计,直至最终物理代码的生成都提供了强大的功能,带给数据库开发人员很大的便利。同时由于面向对象的方法能比较直观地描述现实系统,便于建立企业的业务模型,便于开发过程中的交流,因此开发人员使用这些工具进行需求分析、系统分析和设计的时候,一般也都建立对象模型。 建立起来的概念上的对象模型,其物理实现可以有两种,一种是对象数据库,一种是关系数据库。由于关系数据库更加成熟,并且占主导地位,所以大多开发人员会选择用关系数据库来实现设计出的对象模型。这样,在用对象模型分析与设计完成后,开发人员不得不将对象模型转换成关系模型[1];而在此数据库之上的数据操作也不得不改为针对关系模型,而不是概念层上的对象模型,这就使得设计与实现形成了一条鸿沟。为了填平这条鸿沟,使数据库上层开发人员还能够针对对象模型进行数据操作,就需要开发一个转换层,用来屏蔽掉对象模型与关系数据库之间的这种转换,该层的实现就称为对象模型的关系实现。 对象模型的关系实现包括两方面的内容:一个是模型上的转换,称为“模型投影”,即将对象模型转换成关系模型;另一个是数据操作接口的转换,即定义一个接口负责把对对象模型的操作转换成对投影生成的关系模型的操作。本文重点介绍模型的投影方法,通过分析对象模型与关系模型的特点,提出了一套对象模型在关系型数据库上投影的具体方案。 1 投影原理分析 首先,我们比较一下对象模型和关系模型的主要概念。 表1给出了对象模型与关系模型基本概念的对照。从中可以看出对象模型与关系模型有较大的区别,对象模型许多概念在关系模型中没有对应的概念,即使有对应的概念在实际投影时并不能简单地一一对应[2]。例如,一个实体并不能简单地投影成一个关系表,因为关系模型中没有实体之间的继承关系,所以一个实体的定义可能被投影成多个表,也可能没有关系表与之对应,如抽象实体。属性也不能直接对应,当对象模型中具有复杂数据类型时,一个属性可能被投影成多个列。 对象模型中实体之间的联系与关系模型中表之间的联系也有本质的区别。在对象模型中实体之间联系使用“引用”方式在实体与实体之间建立比较紧密的耦合关系和比较自然的导航关系。例如,要指出某人所在单位领导的姓名,可以用person.department.master.name这种简洁的方式直接获得,但在关系模型中则要通过一组复杂的表之间的关联查询(利用外部键)才能得到。 对象模型向关系模型的投影有三个关键要素: (1) 对象模型的描述规范 (2) 关系模型的描述规范 (3) 对象模型向关系模型投影的规则 我们在此不从语法上来定义对象模型,只给出对象模型的主要概念。在我们的对象模型中将应用以下几个概念:(1)实体、(2)属性、(3)主标识、(4)对象引用、(5)实例、(6)继承、(7)方法、(8)对象标识、(9)聚集、(10)类型定义、(11)唯一性规则、(12)Where规则。 关系模型中将应用以下几个概念:(1)表、(2)列、(3)行、(4)主键、(5)外部键 为了按对象进行操作,需要建立一个数据字典,也称为投影字典。投影字典由一组关系表构成,在投影字典中要保存对象模型的完整描述。 2、基本内容的投影 基本的投影包括简单的对象模型向关系模型的转换。具体有以下几种: (1)实体 一般投影成表。但只有一个独立的实体,既没有超类,也没有子类,才投影成一个表。具有继承关系的实体投影,将在第4节中介绍。由于投影规则选择不同,当一个实体投影成多个表时,不能保证可以用一个关系视图来描述一个实体。 (2)属性 对具有基本数据类型的属性,投影成列。这需要在对象模型与关系模型的各种数据类型之间建立对应关系。基本数据类型指整型、实型、字符串、日期、时间、布尔。如果对象模型采用枚举类型需要在关系模型中对列进行取值范围限定。其它复杂数据类型如聚集、结构类型则需要采用专门的处理方法。 (3)主标识、对象标识。对象标识在对象模型中并不需要明确地表示成对象的一个属性,采用的方式是在每一个与实体对应的关系表中都增加一个列,并把该列作为主键,数据类型为字符串,对象标识的格式为:实体名+表中唯一序列号。之所以把对象标识作为主键,是因为要把实体之间的引用采用以对象

您可能关注的文档

文档评论(0)

wyj199218 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档