为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

对象关系映射中类的继承映射分析与实现

2017-10-07 5页 doc 17KB 27阅读

用户头像

is_589748

暂无简介

举报
对象关系映射中类的继承映射分析与实现对象关系映射中类的继承映射分析与实现 对象关系映射中类的继承映射分析与实现 第10卷第9期 20l1年9月 VOll0No.9 SeD.20l1 对象关系映射中类的继承映射分析与实现 兰伟,万权性. (1.重庆科创职业学院信息工程学院,重庆402160;2.九江职业大学信息工程学院,江西九江332000) 摘要:针对软件开发人员经常面对如何实现类的继承映射,研究了实现类的继承映射的几种实现方法,重点分析每 种方法的优缺点,并给出如何使用的几点建议.解决软件开发过程中存在继承关系的对象持久化问题. 关键词:继...
对象关系映射中类的继承映射分析与实现
对象关系映射中类的继承映射分析与实现 对象关系映射中类的继承映射分析与实现 第10卷第9期 20l1年9月 VOll0No.9 SeD.20l1 对象关系映射中类的继承映射分析与实现 兰伟,万权性. (1.重庆科创职业学院信息工程学院,重庆402160;2.九江职业大学信息工程学院,江西九江332000) 摘要:针对软件开发人员经常面对如何实现类的继承映射,研究了实现类的继承映射的几种实现方法,重点分析每 种方法的优缺点,并给出如何使用的几点建议.解决软件开发过程中存在继承关系的对象持久化问题. 关键词:继承;类的继承映射;对象持久化 中图分类号:TP311.52文献标识码:A文章编号:1672—7800(2011)09—0075—02 1什么是类的继承映射 继承是指一个对象直接使用另一对象的属性和方法, 是面向对象程序设计3大特点之一,在面向对象设计中得 到广泛应用.然而,关系数据库不能直接支持继承,无法 直接描述类之间的继承关系,所以当需要对多个存在继承 关系的对象进行持久化时,需要设计者去完成相关的映 射,即类的继承映射. 2类的继承映射实现方法 通常有3种方法实现类的继承映射,分别是:?所有 的类映射成一张表;?每个子类映射成一张表;?每个类 映射成一张表.这3种实现方法各有特点,以下是对这3 种实现方法的分析. 量;?子类的属性和从父类继承的属性分别映射成表的字 段;?每一个映射表增加一个主键字段.具体映射如图3 所示. 图2所有的类映射到一张表 图3每个子类映射成一张表 在分析前,我们假设存在一个简单的类继承关系.如2.3每个类映射成一张表 图1所示: 图1一个简单类继承关系 2.1所有的类映射到一张表 映射步骤是:?把所有的类的属性映射成为表的字 段;?为映射表添加一个主健字段;?为映射表添加一个 类型字段用于区分子类的类型.具体映射如图2所示. 2.2每个子类映射成一张表 映射步骤是:?根据子类的个数确定需要映射表的数 映射步骤是:?根据类的个数确定需要映射表的数 量;?每个类的属性分别映射成表的字段;?每个映射表 增加一个主键字段;?将子类映射表的主键字段同时也设 为外键,通过外键来描述子类与父类的继承关系. 具体映射如图4所示. 3三种实现方法的对比 根据上面的分析,我们知道如何用3种方法实现将类 继承关系映射到关系数据库中,接下来我们分析这3种实 现方法的特点. 3.1所有的类映射到一张表的特点 优点:?映射方法简单;?当需要增加新的类时,只需 要通过在表中增加相应的字段就能轻松的实现;?因为所 作者简介:兰伟(1974一),男,重庆荣昌人,硕士,重庆科创职业学院信息工程学院讲 师,研究方向为Java教学研究与应用,高职教育 改革,高职师资队伍建设;万权性(1982一),男,江西九江人,九江职业大学信息工程 学院助教,研究方向为计算机应用. 软件导刊2O】1句一 有的数据都在…一个表中,所以查寻效率高;?通过类型字 段町以很好支持多态. IPersonl l Per l on Nalnem""l 101l01 CtIstolner.Employee PersonPOID<<PK>;<<FK>>PersonPOID<<PK>>< ;<FK>> Preferei1cesSalary f Executive PersoflPOID<<PK>><<FK>> BonIls 图4每个类映射成一张表 缺点:?所有类映射在一张表,其中一个类发生变化, 会影响表中的所有,偶合性高;?所有类映射在一张 夫.衣中必然存在大量冗余数据,存储空间浪费大;?当类 的继承关系很复杂时,表的记录数会变的很庞大. 3.2每个子类映射成一张表的特点 优点:可以高效访问单个对象上的数据. 缺点:?当修改父类时,除了要修改父类映射的表外, j叠需要修改子类映射的表;?当对象拥有多少角色时,很 堆保持数据的完整性,例如表中很难描述既是员工,义是 客的对象. 3.3每个类映射成一张表的特点 优点:?映射表相对简单,容易理解;?当父类或子类 改变时,表的修改量小;?数据冗余少,存储效率高;?很 容易实现多态. 缺点:?映射表的数量较多;?因为通常需要同时访 问多个表,查询效率低;?因为通常需要访问多个表,确 输写SQL语句比较困难. 4结束语 经过上述分析可知,3种实现方法各有优缺点,具体 选用哪种方法要设计者根据设计的需要灵活选择.下面 是笔者给出的选择建议:?当继承类的数量不是很多,继 承关系不是很复杂时,可以选择所有的类映射到一张表的 方法实现类的继承映射;?当继承类之间类型比较同定 时,即对象的角色不会经常重叠,可以选择每个子类映射 成一张表的方法实现类的继承映射;?当继承类之间类 经常发生变化,或需要经常使用多态时,可以选择每个类 映射成一张表的方法实现类的继承映射. 参考文献: [1]易燕.对象关系映射框架的研究与实现[J].电脑知识与技术,2(川8 (17). [2]麻淑芳,闫占强.对象关系模型在综合测试系统中的映射与研究 EJ].计算机光盘软件与应用,2OIO(15). (责任编辑:周晓辉j DesignandImplementationofInheritingClassesMapping 0fobject—RelationalMapping Abstract:Fhispaperstudiedtheseveralrealizemethodsoftheinheritancemappingofclasses; thepaperanalyzesthead vantagesanddisadvantagesofeachmethod,andgivessomeSuggestionsofhowtouse.Soasto SOlVesoftwaredevelop mcntprocessesintheobjectpersistentproblemsofinheritaiicerelationship. KeyWords:Inheritance;InheritanceMappingofClasses;ObjectPersistent
/
本文档为【对象关系映射中类的继承映射分析与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索