首页 > 语言 > 关键词 > 最新资讯 > 正文

剖析数据库特性:滞后联编和对象嵌套

2007-11-14 11:15 · 稿源:编程中国

面向对象数据库系统支持面向对象数据模型,简称OO模型。也就是说,一个面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。

面向对象数据库系统目前尚缺少关于OO模型的统一的规范说明,OO模型缺少一个统一的严格的定义,但是有关OO模型的许多和新概念已取得了共识。

1、OO模型

一个OO模型是用面向对象观点来描述现实世界实体的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了OO模型的基础。

OO模型的核心概念主要有:

(1) 对象和对象标识:现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个惟一的标识,称为对象标识(OID)。OID与关系数据库中码的概念,以及部分系统中支持的记录标识、元组标识有本质的区别。OID识独立于值、系统全局惟一的。对象通常与实际的表识始终保持不变。如一个对象的部分属性、方法可能会发生变化,但对象标是不会改变。OID是区分两个不同的对象的标准。常用OID有以下几种:

值标识:用值来表示标识。如关系数据库忠实永远组的码值区分元组。

名标识:用一个名字来标识。如在一个作用域内程序变量一般使用的就是名标识。

内标识:是建立在数据模型或程序设计与严重的不要求用户给出的标示。例如,面向对象数据库系统使用的就是内标识。

(2)封装:每一个对象是其状态与行为的封装,其中状态是该对象一系列属性值的集合,行为是在对象状态上操作的集合,操作也称为方法。封装是OO模型的一个关键概念,封装是对象的外部界面与内部实现之间实行隔离的抽象,外部与对象的通信是通过“消息”实现的。

封装将对象的实现与对象应用相互隔离,允许对操作的实现算法和数据结构进行修改而不应相应用接口;不必修改使用它们的应用,这有利于提高数据独立性。封装还隐藏了数据结构与程序代码等细节,增强了应用程序的可读性。

查询或使用对象属性值必须通过调用方法,如在VB中,要将一个文本框的文本内容存储到一个字符串变量中,可以使用下面的语句:

以下是引用片段:

myStr=txtTextBox1.text

其中,“.”被称为访问符,通过它可以访问文本框对象txtTextBox1的 text属性。

(3)类:共享同样的属性和方法集的所有对象构成了一个对象类(CLASS),一个对象是某一类的一个实例。类的概念在面向对象数据库中是一个基本概念,我们把属性、方法相似的对象集合称为类,而把每一个对象称为所属类的一个实例。

类的概念类似于关系模式,类的属性类似于关系模式中的属性;对下类似于源组的概念,类的一个实例对象类似于关系中的一个元组。类本身也可看作一个对象,称为类对象。

(4) 类层次:在一个面向对象数据库模式中,可以定义一个磊(C1)的子类(C2),类C1称为类C2的超类;子类还可以再定义子类(C3)。这样,面向对象数据库模式的一组类构成一个有限的层次结构,称为类层次。在每个类的最顶部通常被称为基类。 对一个类来说,它可以有多个超类,也可以继承类层次中其直接或间接超类的属性和方法。

(5)消息:对象是封装的,对象与外部的通信一般通过显式的消息传递。即消息从外部传送给对象,存取和调用对象中的属性和方法;在内部执行所要求的操作,操作的结果仍以消息的形式返回。

(6)继承:在OO模型中常用的两种基称:单继承和多重继承。若一个子类只能继承一个超类的特性,这种继承称为单继承;若一个子类能继承多个超类的特性,这种继承称为多重继承。例如“旅行用小汽车”既是小汽车又是旅行车,它继承了小汽车和旅行车两个超类的所有属性、方法和消息,因此它属于多重继承。

继承性是建模的有力工具,它同时提供了对现实世界简明而精确的描述和信息重用机制。子类可以继承超类的特性,可以避免许多重复定义,还可以定义自己特殊的属性、方法和消息。如果在定义自己特殊的属性、方法、消息时与继承下来的超类的属性、方法和消息发生冲突时,通常由系统解决,在不同的系统中使用不同的冲突解决方法,因此便产生了不同的继承语义。例如对于子类与超类之间的同名冲突,一般是以子类定义的为准,即子类的定义取代或替代由超类继承而来的定义;对于子类的多个直接超类之间的同名冲突,有的系统是在子类中规定超类的优先次序,首先继承优先级最高的超类的定义,有的系统则指定继承其中某一超类的定义。

2、持久性

不同对象的标识的持久性程度是不同的。若标识能在程序或查询的执行期间保持不变,则称该标识具有程序内持久性。若标识在从一个程序的执行到另一个程序的执行期间保持不变,则称该标识具有程序间持久性。若标识不仅在程序执行过程中而且在对数据的重组重构过程中一直保持不变,则称该标识具有永久持久性。例如,面向对象数据库中对象标识具有永久持久性,而SQL与严重的关系名不具有永久持久性,因为数据重构可能修改关系名。

对象标识具有永久持久性含义是:一个对象一经产生,系统就给它赋予一个在全系统中唯一的对象标识符,指导它被删除。对象标识是由系统统一分配的,用户不能对对象标识符进行修改。对象标识是稳定的,它不会因为对象中某个值的改变而改变。

3、面向对象数据库

面向对象数据库模式是类的集合。面向对象的数据模型提供了一种类层次结构。在面向对象数据库模式中,一组类可以形成一个类层次。一个面向对象数据库可能有多个类层次。在一个类层次中,一个类继承其所有超类的全部属性、方法和消息。

面向对象的数据库系统在逻辑上和物理上从面向记录上升为面向对象、面向可具有复杂结构的一个逻辑整体。允许用自然的方法,并结合数据抽象机制在结构和行为上对复杂对象建立模型,从而大幅度提高管理效率,降低用户使用复杂性。

4、面向对象数据库的特性

面向对象数据库的特性有主要表现在滞后联编和对象的嵌套两方面。

1) 滞后联编

在OO模型中,当子类定义方法与继承下来的超类的方法产生同名冲突,即子类只继承了超类中操作的名称,子类自己实现操作算法,并有自己的数据结构和程序代码。这样,同一个操作名就与不同的实现方法、不同的参数相联系。

一般地,在OO模型中对于同一操作,可以按照类的不同重新定义操作的实现,这称为操作的重载(同名函数,不同参数)。

例如,定义Tdate类,同时为了满足不同的设置需要,可以设定3个Set函数():

以下为引用的内容:
  Class Tdate
  {
  public:
  int month,day,year; //三个属性
  void set(int m,int d,int y); //同时设置三个属性月,日,年
  void set(int m); //设置月
  void set(int d,int y); //设置日,年
  }

程序中用到如下定义:

Tdate myDate;

可以有以下不同的set方法(函数)的应用:

以下为引用的内容:
  MyData.set(12,3,2002);
  MyData.set(12);
  MyData.set(12,2002);

为了正确执行myDate的一个set方法,OODBMS不能在编译时就把操作set联编到程序上,而必须根据运行时的实际需求,选择相应的对象类型的相应的程序进行联变,这个推迟的转换称为滞后联变。

在同一个面向对象数据库模式中,对象的某一属性可以是一个对象,这样对象之间就产生一个嵌套的层次结构。例如:设Obj1和Obj2是两个对象,如果Obj2是Obj1的某个属性的值,称Obj2属于Obj1,或Obj1包含Obj2。一般的,如果对象Obj1包含Obj2,则称Obj1位复杂对象或复合对象。

对象嵌套概念是面向对象数据库系统的一个重要概念,它允许不同的用户采用不同的粒度来观察对象。对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构。

  • 相关推荐
  • 大家在看
  • 研究机构:全球云计算市场规模2024年有望超过1万亿美元

    10月19日消息,据国外媒体报道,今年的疫情,加速了企业向云计算的转变,全球云计算市场在未来几年也将快速增长。研究机构预计,包括云计算硬件、软件及服务在内的全球云计算市场的规模,在2024年有望超过1万亿美元,复合年均增长率将达到15.7%。预计全球云计算市场规模有望在2024年达到1万亿美元的这一研究机构的一名高管透露,基于疫情期间的经验,大部分的企业的数字基础设施和应用服务将加速向以云为中心转变,到?

  • 特斯拉德州超级工厂建设加速 首批立柱已竖立在现场

    10月19日消息,据国外媒体报道,电动汽车制造商特斯拉加速了其德州超级工厂的建设。最近拍摄的工厂图片和视频显示,该工厂的首批立柱已经竖立在现场。今年7月份,特斯拉CEO埃隆·马斯克(Elon Musk)表示,特斯拉的下一座超级工厂将建在德州奥斯汀。该工厂将是特斯拉继内华达州超级工厂、纽约超级工厂、上海超级工厂和柏林超级工厂之后的第五家工厂,也将是继弗里蒙特工厂、上海工厂和柏林工厂之后的第四家汽车组装工?

  • 人人车创始人李健退出,不再担任公司投资人、执行董事

    10月16日,北京人人车网络技术有限公司发生多项工商变更,法定代表人由杜希勇变更为赵松。股东变更方面,该公司创始人李健(退出前持股96.00%)和王清翔退出,新增股东王雪、 祥瑞科耀(北京)科技有限公司。

  • iPhone12序列号查询地址 苹果12手机序列号查询

    苹果iPhone12手机在10月23日正式发售上市,接下来相信会有不少用户陆续收到手机,拿到手机的时候需要进行查询序列号,那么官方序列号查询地址在哪里呢,我们来一起看下具体的查询方法。

  • 程武解析内容生产“三级跳” 加码影视投入和强化产业耦合

    10月19日,腾讯影业、新丽传媒、阅文影视在上海举办联合发布会。在腾讯新文创战略的纵深推进下,三家公司以整体影视生产体系首次亮相,成为腾讯和阅文深度布局影视业务、强化数字内容业务耦合的“三驾马车”。腾讯集团副总裁、阅文集团首席执行官、腾讯影业首席执行官、腾讯动漫董事长程武在本次发布会上,腾讯集团副总裁、阅文集团首席执行官、腾讯影业首席执行官、腾讯动漫董事长程武以《聚合数字内容“新基建” 释放光影大能量》为?

  • 科大讯飞智能录音笔SR701不止于录音

    近日,关于讯飞智能录音笔SR701的讨论一直很多,据说不论你说什么有难度的内容,只要你说的出来,它就能给你转写出来,于是我就入手了,下面就来看看我的评测体验。讯飞智能录音笔SR701最为吸引人的功能,根据不同的场景下进行智能录音处理。在这一功能的加持之下,讯飞智能录音笔实现了快速将录音转写为文字,录音转文字准确率、翻译准确率都非常高。讯飞智能录音笔SR701的顶部设计有两个定向麦克风,可以根据不同方位进行收音。?

  • 字节跳动否认入局社区团购 回应称消息不实

    今天,AI财经社报道称,字节跳动正在布局社区团购,以高出市场两倍薪资挖人。报道称字节跳动最快将于11月在山东中部地区试点,最慢12月推进。

  • 黑龙江酸汤子中毒事件9人全部身亡 米酵菌酸危险别忽视

    前几天黑龙江鸡西市鸡东县发生了一起惨剧,家庭聚餐中有9人食用了当地特色食物酸汤子,导致中毒。今天下午,中毒事件中唯一的幸运者也不幸死亡,最终这起事故中的9人都不幸遇难了。最初的检验

  • 苹果内部培训文档曝光:iPhone 12双卡模式下无法开启5G

    今年iPhone 12全系都采用双卡双待,唯一的例外是国行版,iPhone 12 mini为单卡。当然,其它国行型号的双卡也与国外不同,前者是实体双卡,后者则是实体SIM+eSIM。不过,在国外社区出现了据称来

  • 今日油条被起诉后公开信致歉:以头条为榜样 立志做好早餐店

    近日,河南一家名为今日油条的网红店引起众网友关注。从网友晒出的图片来看,这家网红店从名字到图片,再掉店内装修,都与今日头条APP有相似之处。就连菜单,也根据今日头条APP界面来进行设计

  • 荣耀天猫共建首个淘宝直播基地 双11将正式启用

    今日,荣耀与天猫联合宣布,将在今年天猫双11期间正式启用行业内首个共建的淘宝直播基地。

  • 90后植发人数占比57.4%,新生植发提醒您选对植发医院很重要

    网络上有句话,猝死不是 90 后担心的问题,脱发才是最担心的问题。这句话一发布在微博上,立刻引发了成千上万的转发。之后,端着保温杯的年轻人,让“保温杯”和“枸杞水”的热量空前发酵。人们见面和取笑的方式开始变成“昨晚你什么时候熬夜”和“你今天掉了多少根头发”。“熬夜”、“脱发”和“保持健康”已经成为年轻人话题的新焦点。据之前有医生接受媒体采访时表示,目前脱发人群当中,38%是 80 后,还有36%是 90 后,最小年

  • 方太荣获中国标准创新贡献奖一等奖

    转载自甬派客户端 记者金鹭刚刚,甬派记者获悉,作为《家用和类似用途电器的抗菌、除菌、净化功能通则》等8项标准的主要完成单位,宁波方太厨具有限公司荣获2020年中国标准创新贡献奖标准项目奖一等奖。据了解,中国标准创新贡献奖是我国标准化领域的最高奖项,由国家质检总局和国家标准委于2006年设立。奖项的设立旨在表彰在标准化活动中作出突出贡献的组织和个人,调动标准化工作者的积极性和创造性,促进标准化事业健康发展。今

  • 天涯明月刀手游服务器已满解决办法 服务器满了怎么办

    天涯明月刀手游中经常的遇到服务器满了的情况,很多玩家还不清楚怎么办,下面就来为大家分享一下天涯明月刀手游服务器已满解决办法。

  • 道有道使命:助力企业持续增长用户

    在互联网大时代的今天,大部分企业的营销重点从线下转移到了线上。从流量获取到用户转化,再到内容共建的数字营销,正式进入高速发展快车道。近年来,从互联网各项营销数据中不难看出,为各大企业实现用户增长的数字化营销遥遥领先,数字化营销成为了各大企业用户增长的重要手段。在更精准、更高效、更贴合需求的模式下,数字营销已然占据互联网营销的首位,得到了众多企业的垂青。而这当中,道有道科技集团股份公司深耕数字营销,

  • 马斯克旗下挖掘公司Boring所建地下环线可能只能承载承诺人数的25%

    10月19日消息,据国外媒体报道,埃隆·马斯克(Elon Musk)的Boring公司(英文boring有“挖掘”和“无聊”两种意思,因此马斯克也借“Boring Company”自嘲要开一家“无聊的公司”。)在拉斯维加斯会议中心(LVCC)下的隧道系统可能无法达到像最初承诺的运送人数。除了令人失望之外,可能Boring公司还面临着经济处罚。地下环线它所面临的瓶颈并不在于技术,而是消防条例。消防条例规定,环路三个车站之一的装卸区的乘?

  • 京东副总裁韩瑞:京东才是真百亿补贴

    双十一电商大战又将开启。10月19日消息,京东赶在阿里巴巴前一天召开双十一媒体沟通会,对外披露今年京东双十一的优惠举措。京东称,京东将推出包括超级百亿补贴、直播超级夜等多项活动,共计带来超2亿件5折商品、超3亿件新品。由于今年上半年疫情影响,预计今年的各电商平台双十一大战将更为激烈。今年,京东专门请了笑果文化举办了一场“京东脱口秀大会”,似乎意在拉近与年轻消费者的距离,扩大京东双十一的影响力

  • 韩国韵达拒邮防弹少年周边包裹 因为一些众所周知的原因

    【韩国韵达拒邮防弹少年周边包裹】10月19日下午,韩国韵达官方账号发布微博称,因为一些众所周知的原因,有关防弹少年团的包裹暂时不再邮寄了。日前,韩国男子组合“防弹少年团”发表获奖感言时表示,会永远铭记两国(意指韩美)共同经历的苦难历史。这样的表述令很多中国网友和粉丝不满。

  • 钟丽缇大女儿Yasmine担纲新品视频女主角!视频创意软件Filmora X全新来袭

    2020年10月16日,万兴科技旗下的数字创意剪辑软件Filmora X(Filmora10.0版本)在北美地区正式发布。迎来重大升级的Filmora X一次性更新了7大功能,包括运动追踪、关键帧、颜色匹配、音频闪避等。钟丽缇大女儿Yasmine担纲新品视频女主角!视频创意软件Filmora X全新来袭同时上线的,还有一支主题新品视频,由钟丽缇的大女儿Yasmine担纲女主角,视频通过当下新生代潮流青春的生活方式,向用户表达潮流态度:只要心中充满创意,生活就不会平庸。

  • 独家!公众号内测“文末连续阅读”能力,告别沉重的超链接小尾巴

    细数起来,这已经是这个月,视频号第三次推出重磅的新功能了。并且这一次我们扬眉吐气了,总是赶不上内测的我们这次终于坐上了“第一班车”,同时公众号也正在内测一个全新的能力,是什么?跟我们一起来看看吧!

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签