欢迎来到天天文库
浏览记录
ID:16040008
大小:28.00 KB
页数:5页
时间:2018-08-07
《对象模型的关系投影研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、对象模型的关系投影研究对象模型的关系投影研究摘要本文在分析对象模型与关系模型区别的基础上,介绍了将对象模型投影成关系模型的投影原理,并结合实例详细论述了对象之间不同引用关系的不同投影方法以及继承实体的三种不同投影方法。关键词面向对象数据模型关系模型投影0引言随着我国软件开发水平的提高,越来越多的软件开发自觉地遵循软件工程开发方法。在数据库应用的开发中采用了很多软件建模或数据建模工具,如RationalRose、PowerDesigner等。这些建模工具在需求分析、系统分析以及设计,直至最终物理代
2、码的生成都提供了强大的功能,带给数据库开发人员很大的便利。同时由于面向对象的方法能比较直观地描述现实系统,便于建立企业的业务模型,便于开发过程中的交流,因此开发人员使用这些工具进行需求分析、系统分析和设计的时候,一般也都建立对象模型。建立起来的概念上的对象模型,其物理实现可以有两种,一种是对象数据库,一种是关系数据库。由于关系数据库更加成熟,并且占主导地位,所以大多开发人员会选择用关系数据库来实现设计出的对象模型。这样,在用对象模型分析与设计完成后,开发人员不得不将对象模型转换成关系模型[1];
3、而在此数据库之上的数据操作也不得不改为针对关系模型,而不是概念层上的对象模型,这就使得设计与实现形成了一条鸿沟。为了填平这条鸿沟,使数据库上层开发人员还能够针对对象模型进行数据操作,就需要开发一个转换层,用来屏蔽掉对象模型与关系数据库之间的这种转换,该层的实现就称为对象模型的关系实现。对象模型的关系实现包括两方面的内容:一个是模型上的转换,称为“模型投影”,即将对象模型转换成关系模型;另一个是数据操作接口的转换,即定义一个接口负责把对对象模型的操作转换成对投影生成的关系模型的操作。本文重点介绍模
4、型的投影方法,通过分析对象模型与关系模型的特点,提出了一套对象模型在关系型数据库上投影的具体方案。对象模型的关系投影研究对象模型的关系投影研究摘要本文在分析对象模型与关系模型区别的基础上,介绍了将对象模型投影成关系模型的投影原理,并结合实例详细论述了对象之间不同引用关系的不同投影方法以及继承实体的三种不同投影方法。关键词面向对象数据模型关系模型投影0引言随着我国软件开发水平的提高,越来越多的软件开发自觉地遵循软件工程开发方法。在数据库应用的开发中采用了很多软件建模或数据建模工具,如Rationa
5、lRose、PowerDesigner等。这些建模工具在需求分析、系统分析以及设计,直至最终物理代码的生成都提供了强大的功能,带给数据库开发人员很大的便利。同时由于面向对象的方法能比较直观地描述现实系统,便于建立企业的业务模型,便于开发过程中的交流,因此开发人员使用这些工具进行需求分析、系统分析和设计的时候,一般也都建立对象模型。建立起来的概念上的对象模型,其物理实现可以有两种,一种是对象数据库,一种是关系数据库。由于关系数据库更加成熟,并且占主导地位,所以大多开发人员会选择用关系数据库来实现设
6、计出的对象模型。这样,在用对象模型分析与设计完成后,开发人员不得不将对象模型转换成关系模型[1];而在此数据库之上的数据操作也不得不改为针对关系模型,而不是概念层上的对象模型,这就使得设计与实现形成了一条鸿沟。为了填平这条鸿沟,使数据库上层开发人员还能够针对对象模型进行数据操作,就需要开发一个转换层,用来屏蔽掉对象模型与关系数据库之间的这种转换,该层的实现就称为对象模型的关系实现。对象模型的关系实现包括两方面的内容:一个是模型上的转换,称为“模型投影”,即将对象模型转换成关系模型;另一个是数据操
7、作接口的转换,即定义一个接口负责把对对象模型的操作转换成对投影生成的关系模型的操作。本文重点介绍模型的投影方法,通过分析对象模型与关系模型的特点,提出了一套对象模型在关系型数据库上投影的具体方案。1投影原理分析首先,我们比较一下对象模型和关系模型的主要概念。表1给出了对象模型与关系模型基本概念的对照。从中可以看出对象模型与关系模型有较大的区别,对象模型许多概念在关系模型中没有对应的概念,即使有对应的概念在实际投影时并不能简单地一一对应[2]。例如,一个实体并不能简单地投影成一个关系表,因为关系模
8、型中没有实体之间的继承关系,所以一个实体的定义可能被投影成多个表,也可能没有关系表与之对应,如抽象实体。属性也不能直接对应,当对象模型中具有复杂数据类型时,一个属性可能被投影成多个列。对象模型中实体之间的联系与关系模型中表之间的联系也有本质的区别。在对象模型中实体之间联系使用“引用”方式在实体与实体之间建立比较紧密的耦合关系和比较自然的导航关系。例如,要指出某人所在单位领导的姓名,可以用person.department.master.name这种简洁的方式直接获得,但在关系模型中则要通过一组复
此文档下载收益归作者所有