面向对象在关系数据库中的设计与应用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wwwman
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文针对面向对象的技术和关系型数据库的特点,将两者相结合,研究了将面向对象技术方式应用于关系型数据库,进行系统设计的方法,重点描述了对象映射成关系数据库的方法。
  关键词:面向对象;关系型数据库;映射;类;属性
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)20-0012-02
  1 引言
  面向对象(Object Oriented,OO)是把面向对象的思想应用于计算机软件开发中,以对象为内核,以类、继承、封装、多态等概念构造系统,进行客观事物的软件开发设计的一种方法。面向对象,对象其实就是一个封装体,包含数据和控制命令。随着计算机技术和开发软件的不断升级,面向对象的方法和应用已经不仅仅局限于软件开发和程序设计,已经逐渐扩展到数据库系统、分布式系统、网络管理、人机交互等计算机领域,甚至对人工智能、计算机辅助工具、信息系统等产生深远影响。计算机和网络都离不开数据库,面向对象的广泛应用,也给数据库技术增添了新鲜血液。面向对象方法与数据库技术,尤其是关系型数据库如何有效结合,更好的支持数据库的应用,是一个非常值得研究的课题。
  2 面向对象的关系型数据库
  2.1 关系型数据库
  电子商务、云存储、云计算等计算机信息系统,已经是当今信息技术的重要手段,而数据库技术是计算机系统的重要组成部分和核心内容。数据库类型有网状、层次和关系几类,其中关系型数据库以其集合的操作方式得到了最为广泛的应用。关系型数据库是一种建立在关系数据库模型基础上的数据库,用集合代数方法对数据库单元中数据进行处理,是一组相互之间有关联关系的表,表的关系通过相关字段进行关联,表中的数据可以根据需求情况进行存取且不用重新组织数据库表格。新建一个关系型数据库时,每一行包含一个数据实体,是被列定义的种类。目前应用较多的数据库有oracle、sqlserver、mysql等。
  2.2面向对象分析法
  面向对象分析法(Object-Oriented Analysis,OOA),是指一个软件开发项目在开发过程中,首先要对业务情况进行调研,然后用面向对象的思想对该项目业务进行归纳、分类、分析。OOA强调的是业务对象之间的关系以及对象的属性和行为。面向对象分析法使用户和设计者之间的沟通更容易,设计者能够更好地理解用户的需求,设计者了解了用户的需求,才能更好地设计出用户与数据库之间的映射方式,从而设计出用户满意的数据库。
  OOA方法的程序设计,从结构框架来说,一个是针对开发者的外部层,外部层是应用程序的整体设计;内部层针对物理存储,称为物化视图,是基于远程表格的,也可以称之为快照;概念层介于外部层和内部层之间,是内外部的映射,用DDL表示,概念层是关系型数据库的真正表现形式。对象与关系型数据库通过映射发生关系,映射方法就是将关系型数据库进行概念层的设计。从对象到关系型数据库的映射内容包括:属性与列的映射,关系型数据库中的继承,类与表的映射,映射的关联,聚合和组合以及实现关系等。
  将对象建模和映射的过程就是将对象转换成概念层的数据库模型,对象模型转换为关系型数据库的映射有如下关系:
  1)每个对象是唯一的,有唯一的标识符,具有唯一性。对象的标识一般用主键或者是系统自动生成的伪标识符来标识,而不是通过描述对象的属性来标识。
  2)类与关系型数据库中的表的转换,可以通过直接调用表的名称,或者可以通过在类的名称前加前缀的方式修改成表的名称来实现。
  3 基于面向对象技术的关系数据库的设计方法
  3.1 整体思路
  基于面向对象技术的关系型数据库的设计方法,首先要确定应用程序中的领域类,领域类中将数据信息和对数据的操作、调用方法进行了封装。领域类实例化,就得到对象,因此,需要提前把对象的存储、地址、检索方法、调用方法等问题设计好,做好准备工作。
  在面向对象的关系型数据库中,数据通过对象形式存储到数据库中,并且对象之间的关联关系是自动存储的。关系型数据库本身不存在集合和分解的问题,可以由与对象相关的状态图像构成。面向对象的关系型数据库是通过对对象进行查询、检索、调用的,不存在对某个表的一行或一列进行某些操作。因此需要提前定义对对象的各种操作方法。比如:writeObject()是一个写入并存储一个对象及所有对象相关;read Object()是读取一个对象及所有对象相关。每个对象有唯一的标识ID,在写入和读取时通过唯一的标识ID进行。
  以消费者对电子账户的写入、读取操作为例子,来说明面向对象数据库数据存储模式,如图1所示。将消费者对电子账户的操作对象的属性描绘成字段,指向其他对象需要映射到相应的外部关键字上,此处的操作动作不能封装。数据库中的每一个表对应一个类,对数据库中的表的操作设定为函数。
  3.2 对象映射成关系数据库
  RDBMS的表都是二维表,一个二维表是一个管理单元,二维表及表与表之间的关联关系用来描述对象模型的属性,即对象模型与关系型数据库的映射关系。将每个对象的类存储到数据库的表中,一个类对应一个对象实例,并进行存储。不仅对象实例映射到关系型数据库中,对象之间的关联关系也要映射到关系型数据库中,这样才能进行后续的操作。
  对象之间的关系有四种:关联、继承、聚合、组成。关联是关系型数据库中对象之间的关联关系,聚合不仅需要对关系型数据库的整体进行操作,还需要对部分进行操作,即读取时需要整体读取的同时也需要在部分数据中进行读取。关联是不需要的,在关联中存储和读取的执行操作不明显。关联和聚合的区别在于对象之间的联系程度不同。
  对关系型数据库中的数据不但有存储、调用等动作,还有删除的动作,那么将数据库对对象的存储和删除也是一样,对象映射成关系型数据由一些规则,如下:
  1)一个类与一个库表对应映射,也可以多个类与一个库表对应映射。
  2)类中存在父子关系的类,映射关系时可以分别与父和子类分别映射,或者不对父类进行定义,让子类具有父类的属性;不对子类进行定义,让父类具有子类的属性。
  3)映射关系定义为一个表,包含一对一、一对多、多对多等关联关系,也可在类表之间定义外键。
  4)聚合的方式有两种:一种是用一张表将所有对象类的属性合并;一种是分别用两张表分别将对象类的整体和部分分别合并,利用外键关联整体与部分的关系。
  5)有些类是没有属性的,没有属性则没有映射表。
  6)映射后的关系型数据库表需要进行冗余操作,使其关系范式合理。
  4 结论
  面向对象的关系型数据库系统以其模型简单、数据独立的优势,成为数据库技术发展的主流方向,本文针对面向对象的技术和关系型数据库的特点,将两者相结合,研究了将面向对象技术方式应用于关系型数据库,进行系统设计方法的研究,重点描述了对象映射成关系数据库的方法。
  参考文献:
  [1] 杨玉芬,李明明.高晓旸对象管理在面向对象数据库中的应用研究[J].吉林大学学报(信息科学版),2013,9(5):548-553.
  [2] 肖刚.面向对象数据库在教学信息管理系统中的应用[J].硅谷,2012(6):79.
  [3] 陆登,李善平,郑春昭. 基于对象数据库的扩展Java集合框架[J].计算机应用与软件,2011(1):133-136.
  [3] 陈文宇.面向对象的关系数据库设计[J].电子科技大学学报,2002(1):53-56.
  [4] 吴鸿雁,刘思源.基于OO技术的关系数据库设计[J].计算机工程,2003,29(18):177-179.
其他文献
摘要: 触发器与完整性约束功能强大、使用灵活,该文着重对在不同情况下两者使用时的优缺点进行了探析,以期能对数据库应用系统设计者与管理者进行数据管理、提高数据完整性控制提供有益帮助。  关键词:完整性约束;触发器;区别  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)23-0010-03  如何保证数据库应用系统中数据的正确性、一致性,是数据库应用系统设计者与管理者
对长江水系洞庭湖、鄱阳湖、秋浦河和太湖4个鳜群体共42尾的mtDNA控制区核苷酸序列进行了测定,获得了长度785bp的同源序列.4个群体中共检测到变异位点36个,占全部序列4.6%.42个体中
为了从竞争中脱颖而出,如今的企业组织必须采用新的方式将用户、设备、数据、应用程序和服务连接起来。为此,这些组织采用各种基于云计算的架构和服务,以便更灵活地适应市场
为揭示不同形态氮在乌梁素海空间分布特征及变化规律,运用ArcGIS统计模块分析了2006—2007年乌梁素海不同形态氮浓度的时空变异研究表明:乌梁素海水体中各监测点总氮浓度夏、冬
目的:探讨甲泼尼龙琥珀酸钠联合布比卡因治疗多节段腰椎间盘突出症引发腰痛的疗效。方法:选取2017年6月至2018年5月常州市金坛区中医医院收治的多节段腰椎间盘突出症引发腰痛
目的:探讨低分子肝素联合尿激酶治疗急性心肌梗死的疗效及对患者生活质量的影响。方法:选取2013年1月—2016年1月潜江市中心医院收治的急性心肌梗死患者160例作为研究对象,以随
对于学生朋友来说,无论是寒假生活还是开学返校后,除了上网看电影、玩微博微信,打游戏可能是他们平时最好的休闲方式。话说手机、平板电脑拥有大量好玩的游戏,但较小的屏幕、并不方便的操作,着实不过瘾。而游戏笔记本价格又太贵,这种情况之下,游戏台式机仍是学生朋友不二选择。但为了更流畅玩游戏,选择一款适合自己的游戏机型很关键。一、选购须知对于学生朋友来说,由于钱都是父母给予,在自己还没有赚钱的情况之下,购买电
摘要:“互联网 ”背景下,网络应用日趋广泛,安全风险进一步加大,对网络安全教学提出了更高的要求。当前网络安全教学相对滞后,kailhnux系统在完善教学实践、提升教学水平等方面具有一定的参考意义。  关键词:网络安全;kailhnux;教學实践  中图分类号:TP393.08 文献标识码:A 文章编号:1009-3044(2017)17-0117-02  1网络安全形势及教学现状  1.1网络安全
俗话说的好,兴趣是学生学习的最好老师,的确是这样,兴趣是学生学习的基础,是学生学习好某一科目的浅谈,学生只有在兴趣的引导下才能真正投入到对知识的学习中去,尤其是对我们今天所
这篇文章从五个方面分别论述了情感在教学中的作用:首先,亲其师,信其道,只有教师在情感上的积极投入,才能唤起学生内部的动力,才能树起自信心,发挥潜能.其次,出色的完成学习