[发明专利]数据库自动分类方法在审
申请号: | 200810046609.7 | 申请日: | 2008-01-03 |
公开(公告)号: | CN101216845A | 公开(公告)日: | 2008-07-09 |
发明(设计)人: | 彭智勇 | 申请(专利权)人: | 彭智勇 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 湖北武汉永嘉专利代理有限公司 | 代理人: | 王守仁 |
地址: | 430072湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 自动 分类 方法 | ||
技术领域
本发明涉及数据库系统中数据动态分类和一致性维护领域,特别是在对象代理数据库系统中对象自动分类的技术。
背景技术
在传统的面向对象数据库和对象关系数据库中,一个对象只属于一个类,间接地属于其超类,不能同时出现在没有继承关系的多个类中;另外,对象难以在不同类之间迁移,以致对象无法动态分类,这不能反映现实世界中客观实体的多样性和动态性。数据修改如果导致对象在数据库中的迁移往往需要人为的分析和手动的修改,因此需要消耗数据库管理员和用户的大量时间。为了克服以上不足,本发明人提出了新的数据模型:对象代理模型。对象代理模型通过引入代理对象和代理类的概念,能更好地对各种复杂的数据进行管理。本发明基于对象代理模型支持对象的多重分类方式,在插入、修改和删除对象的时候,可以自动的将相关对象派生到满足条件的类中或者从不再满足条件的类中删除,实现数据库动态分类功能。
在基于对象代理模型的数据库(称为对象代理数据库)中,源类与代理类之间存在着代理关系,一个源类可以同时定义多个代理类,一个代理类也不仅限于代理一个源类。伴随着类之间代理关系的是对象间的代理关系。一个类中的对象可以是多个不同代理类中的代理对象的源对象,同时一个类中的对象也可以作为多个不同源类中的源对象的代理对象而存在。代理对象既能够通过选择地继承源对象的属性和方法而作为源对象的特定接口,也能够扩展一些额外的、附加的属性和方法。
在面向对象数据库和对象关系数据库中,父类和子类很难实现多继承的关系。同时子类对象并不是父类对象在子类上的实例,它们之间没有直接联系。父类实例的修改,并不会导致任何子类实例的更新。同样,子类实例的修改,也不会对父类实例产生影响。因此,在面向对象数据库中,对象自动分类需要通过对象移动(Object Migration)来实现,然而面向对象数据库很难提供对象移动机制。
在传统关系数据库中,元组是通过关系表存储的。因为表和表之间是没有继承或者代理的关系的,所以传统关系数据库中也不存在对元组自动分类的能力。但是传统关系数据库中存在的物化视图概念。所谓物化视图(MaterializedView),又称实化视图或者实体化视图。它通过把数据库视图中的元组存储起来,从而将视图实物化。这样,数据库访问物化视图的速度将比重新计算视图的速度要快。当定义视图的基关系被修改后,需要对物化视图进行维护,以使其重新满足视图的定义条件。即实际元组修改后,其在满足选择条件的视图中的元组也会被修改。物化视图有点类似对象代理数据库中的代理类,但存在以下不同:
(1)代理类对象和其源类对象存在双向指针,对象之间可以实现快速的导航,在对象代理数据库中,对源对象的更新,可以快速转换到其代理对象上的更新。对于代理对象可以进行更新,对代理对象上虚属性的修改,是通过对象间的双向指针以及定义在属性上的“切换操作”方法,将更新传递到该属性作为实属性所存放的对象(可能是源对象或者代理对象)上去;而物化视图的更新过程并不是通过双向指针来实现。
(2)代理类类似一个半物化的视图,物化的只是代理类的模式,代理对象上的虚属性并没有存储实际值。查询时,是通过定义在代理属性上的切换操作来确定具体的值。
(3)代理对象上可以拥有自己的扩展属性,这部分属性占用了实际的存储空间,同时也可以被下层代理对象所代理;而物化视图不具有私有的属性。
(4)对象代理数据库中类间的代理关系相对于传统关系数据库中的视图层次更多,语义更丰富。
因此,传统关系数据库中视图更新机制,也不适用于数据库中对象动态分类机制。
如上所述,由于对象代理数据库中代理对象与源对象之间存在着代理关系,对于任何对象的修改可以传递到对其源对象和代理对象的修改,并导致这些关联对象在相应的类中出现插入、删除和更新动作。因此这些对象代理数据库所特有的特征,可以天生地支持数据库中对象的自动分类功能。
发明内容
本发明要解决的技术问题是:实现对象在数据库中的多重分类;提出一种适用于数据库中对象的自动分类方案,为数据库提供对象被插入、更新和删除后的自动分类能力;提出一套并发控制算法,保证自动分类时的数据一致性。
本发明解决其技术问题采用的技术方案是:在数据库中,同一个对象可以隶属于多个类,表现其多样性本质;根据数据库模式定义中的约束条件,利用对象间的双向指针技术,实现对象的自动分类;通过并发控制规则,保证对象分类前后数据库的一致性,它包括数据库多重分类方式、数据库自动分类机制的设计、数据库自动分类机制的实现和数据库自动分类时的并发控制过程。具体如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于彭智勇,未经彭智勇许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810046609.7/2.html,转载请声明来源钻瓜专利网。