中国论文网
中国最大的论文库
论文网首页 | 论文辅导 | 代理发表 | 百万论文库 | 教育新闻 | 招贤纳士 | 帮助中心 | 联系我们 [ 英文版 ]
[毕业论文][教学论文][教育论文][管理学论文][会计论文][财税论文][金融论文][法律论文][计算机论文][英语论文]
[工学论文][科学论文][农业论文][经济学论文][医学论文][哲学论文][艺术论文][论文写作][社会学论文][专题论文]
高级搜索
 当前位置:论文网主页>教育论文>电教论文>论文内容
对象模型的关系投影研究
来源:中国论文网(www.paperlw.com) 作者: 点击数:

摘要  本文在分析对象模型与关系模型区别的基础上,介绍了将对象模型投影成关系模型的投影原理,并结合实例详细论述了对象之间不同引用关系的不同投影方法以及继承实体的三种不同投影方法。

关键词  面向对象  数据模型  关系模型  投影

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)主标识、对象标识。对象标识在对象模型中并不需要明确地表示成对象的一个属性,采用的方式是在每一个与实体对应的关系表中都增加一个列,并把该列作为主键,数据类型为字符串,对象标识的格式为:实体名+表中唯一序列号。之所以把对象标识作为主键,是因为要把实体之间的引用采用以对象标识作为主键/外部键来实现的。这样原来的主标识就不能投影成主键了。在有的关系数据库中允许使用辅助键,如果没有辅助建则只能对原来的主标识投影成的列加上唯一性约束规则。

(4)实例   实例不属于模型投影的内容,但与投影的操作有密切关系。如果一个实体投影成多个表,则一个实例将由多个关系表的行构成。这些行必须具有相同的对象标识。

(5)聚集  如果聚集的元素类型是基本数据类型,可以考虑投影成二进制类型。如果元素类型是实体类型,这实际上构成了该实体与元素所指向实体之间多对多的引用关系,具体可参照第3节。

(6)类型定义  主要指自定义结构类型,需要将结构的域投影成单个的列。

(7)唯一性规则。转换为关系表的唯一性约束规则,当唯一性规则中包括的属性投影成多列时,注意要将多个列均包括在关系表的唯一性约束定义中。

(8)Where规则  转换成关系表的条件约束规则。

(9)名字转换规则  实体名转换成表名,属性名转换为列名,数据类型的域展开为列时,需要有一套名字转换规则。

3、对象之间引用关系的投影[3]

如果从纯粹的建模技术角度来看,对象之间的关系有以下几种:

      一对多关系

      多对多关系

      一对一关系

不管是哪一种关系在概念模型中都两种情况,一种是依赖的,一种是独立的。

为了方便叙述,我们定义了一个简单的对象模型,图2是该模型的实体关系图(也称为类图),图中的各实体只列出了主标识中的属性。图中分别用不同的符号给出了继承关系、多对多关系、依赖的一对多关系和独立的一对多关系。

具体说明如下:实体Student和Teacher是Person的子类,继承关系用一个三角形表示。一个系(Department)里有多个人(学生或老师),两个实体间用实线连接表示引用关系,实心圆圈表示多的一端。一个系可以开设多门课(Course),一门课是依赖于系的,这就是说只知道课程名还不能确定这门课,还需要知道是哪个系开设的这门课。同样是计算方法课,数学系开设的和计算机系开设的在难度上和内容上会有很大区别。用箭头表示依赖。一门课有多个学生选修,一个学生可以选修多门课程。

 

    



实体间不同的关系进行投影方法是不同的。

(第1页)(第2页)


 


英文论文写作
职称论文写作
职称论文写作
硕士论文写作
论文代理发表
百万免费论文
 客服中心
QQ:981339 在线咨询
paperlw@msn.com
电话:010-51281033
   010-51281044
传真:010-51281044
邮箱:hotlw@vip.163.com
工作时间:9:00-20:00
 本类热点论文
·利用课件使学生体会成功的喜悦
·网络教学在小学语文阅读中的优
·巧用媒体 自主学习 
·浅谈信息技术与小学语文课程的
·运用电教手段 优化课堂教
·借助电教手段 活化形体教
·运用多媒体技术优化自主学习
·给数学课堂插上飞翔的“翅膀”
·利用信息技术优化数学课堂教学
·浅谈信息技术与小学语文教学的
·如何合理使用电教媒体
·电教媒体在语文教学中所扮演的
 相关论文
·电教媒体在语文教学中所扮演的
·加强高职会计电算化实践性教学
·生物教学中滥用电教手段之弊
·发挥电教优势,提高作文教学质
·如何合理使用电教媒体
·用孩子的语言教孩子
·进步是欢乐的源泉
·从生活中来,到生活中去
·从出现问题到反思实
·利用课件使学生体会成功的喜悦
·浅谈信息技术与小学语文教学的
·浅析网络及多媒体课件应用误区
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
关于我们 | 收藏本站 | 客户服务 | 友情链接 | 论文发表 | 论文写作 | 网站地图 | 英文版