对象模型的关系投影研究

对象模型的关系投影研究

ID:9507269

大小:55.50 KB

页数:7页

时间:2018-05-01

对象模型的关系投影研究 _第1页
对象模型的关系投影研究 _第2页
对象模型的关系投影研究 _第3页
对象模型的关系投影研究 _第4页
对象模型的关系投影研究 _第5页
资源描述:

《对象模型的关系投影研究 》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、对象模型的关系投影研究摘要本文在分析对象模型与关系模型区别的基础上,介绍了将对象模型投影成关系模型的投影原理,并结合实例详细论述了对象之间不同引用关系的不同投影方法以及继承实体的三种不同投影方法。关键词面向对象数据模型关系模型投影0引言随着我国软件开发水平的提高,越来越多的软件开发自觉地遵循软件工程开发方法。在数据库应用的开发中采用了很多软件建模或数据建模工具,如RationalRose、Poent.master.name这种简洁的方式直接获得,但在关系模型中则要通过一组复杂的表之间的关联查询(利用外部键)才能得到。对象模型向关系

2、模型的投影有三个关键要素:(1)对象模型的描述规范(2)关系模型的描述规范(3)对象模型向关系模型投影的规则我们在此不从语法上来定义对象模型,只给出对象模型的主要概念。在我们的对象模型中将应用以下几个概念:(1)实体、(2)属性、(3)主标识、(4)对象引用、(5)实例、(6)继承、(7)方法、(8)对象标识、(9)聚集、(10)类型定义、(11)唯一性规则、(12)Where规则。关系模型中将应用以下几个概念:(1)表、(2)列、(3)行、(4)主键、(5)外部键为了按对象进行操作,需要建立一个数据字典,也称为投影字典。投影字典

3、由一组关系表构成,在投影字典中要保存对象模型的完整描述。2、基本内容的投影基本的投影包括简单的对象模型向关系模型的转换。具体有以下几种:(1)实体一般投影成表。但只有一个独立的实体,既没有超类,也没有子类,才投影成一个表。具有继承关系的实体投影,将在第4节中介绍。由于投影规则选择不同,当一个实体投影成多个表时,不能保证可以用一个关系视图来描述一个实体。(2)属性对具有基本数据类型的属性,投影成列。这需要在对象模型与关系模型的各种数据类型之间建立对应关系。基本数据类型指整型、实型、字符串、日期、时间、布尔。如果对象模型采用枚举类型需

4、要在关系模型中对列进行取值范围限定。其它复杂数据类型如聚集、结构类型则需要采用专门的处理方法。(3)主标识、对象标识。对象标识在对象模型中并不需要明确地表示成对象的一个属性,采用的方式是在每一个与实体对应的关系表中都增加一个列,并把该列作为主键,数据类型为字符串,对象标识的格式为:实体名+表中唯一序列号。之所以把对象标识作为主键,是因为要把实体之间的引用采用以对象标识作为主键/外部键来实现的。这样原来的主标识就不能投影成主键了。在有的关系数据库中允许使用辅助键,如果没有辅助建则只能对原来的主标识投影成的列加上唯一性约束规则。(4)

5、实例实例不属于模型投影的内容,但与投影的操作有密切关系。如果一个实体投影成多个表,则一个实例将由多个关系表的行构成。这些行必须具有相同的对象标识。(5)聚集如果聚集的元素类型是基本数据类型,可以考虑投影成二进制类型。如果元素类型是实体类型,这实际上构成了该实体与元素所指向实体之间多对多的引用关系,具体可参照第3节。(6)类型定义主要指自定义结构类型,需要将结构的域投影成单个的列。(7)唯一性规则。转换为关系表的唯一性约束规则,当唯一性规则中包括的属性投影成多列时,注意要将多个列均包括在关系表的唯一性约束定义中。(8)ent)里有多

6、个人(学生或老师),两个实体间用实线连接表示引用关系,实心圆圈表示多的一端。一个系可以开设多门课(Course),一门课是依赖于系的,这就是说只知道课程名还不能确定这门课,还需要知道是哪个系开设的这门课。同样是计算方法课,数学系开设的和计算机系开设的在难度上和内容上会有很大区别。用箭头表示依赖。一门课有多个学生选修,一个学生可以选修多门课程。实体间不同的关系进行投影方法是不同的。(1)独立的引用关系进行投影,需要在“多”的一边要产生一个外部键。如果实体Person投影对应的表是T_Person,则表T_Person中要自动增加一个

7、属性DptName,作为外部键,对应实体Department投影成的表T_Department的主键DptName。如果在继承关系中Person要分解到多个子类表中,则这些子类表中都要生成这个对实体Department引用的外部键(2)依赖的引用关系进行投影,不仅需要在“多”的一边产生一个外部键,而且还要把该外部键做为辅助键。例如实体Course投影成表T_Course时,不仅要生产一个外部键DptName,而且它的辅助键由两个列组成:DptName和CourseName。注意,根据第2节对象标识的投影规则,表T_Course的主

8、键是对象标识列。(3)实体之间多对多的关系进行投影,需要新建一个“交叉表”,该表专门记录实体间多对多的这种联系,原来的两个实体表与新建的交叉表之间的关系是一对多的关系,这实际上把多对多关系变成两个一对多关系。实体Cource和Student之间的多

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。