数据库查询和控制方法技术

技术编号:6840779 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术的名称是数据库查询和控制方法。本发明专利技术一般性地涉及数据库的查询和控制方法,特别是涉及在数据库中进行标识和反向标识的方法以及以递归方式查询数据库中的关联模型的方法。本发明专利技术还公开了一种用于对查询方法所得到的查询结果进行显示的方法。

【技术实现步骤摘要】

本专利技术一般性地涉及数据库的查询和控制方法,特别是涉及在数据库中进行标识和反向标识的方法以及以递归方式查询数据库中的关联模型的方法。
技术介绍
传统的递归查询技术目前的数据库技术拥有着非常多的查询及控制二维数据库的技术方法,传统的二维数据库的RTN(Recursive transient network,递归瞬态网络)查询与控制方法的做法是针对二维数据库预先设定的决策图对关键字进行递归处理,并由整个决策图的自嵌套和自连接的总运行来描述,同时对每个关键字后的关键字进行有限选择。以上的方法是针对传统的二维数据库所采用的方法,但如果针对多维数据库的关系模型的查询与控制,上述查询方法存在以下不足(1)传统的RTN仅仅对于传统二维数据库的以个体关联为层级的属性维(X维)与以个体种类区分的并列的个体维(Y维)的决策图网进行语句描述,但由于多维数据库中存在实体间的关联维(Z维)和时间维(W维),因而传统的RTN方法没有办法对多维数据库进行描述。(2)传统的RTN方法仅仅能够查询出的结果是“某个体在某时间发生了某件事”、 “备注”。但如果这个个体同时发生几件事,并且这些事件存在交叉的时候(其它维度有关联),这些信息就不能查询出来。(3)传统的RTN在一个查询代码中,通过查询语句简单精确的各种难度级别描述, 并建立一个改进的访问计划,如果在一个查询代码中,难度级别非常底,它还是需要作一个难度级别描述,并制定自己的访问技术,但是对于难度级别很低的查询代码,SQL已经是最优的访问计划.根本无需RTN做任何操作。反而执行这些操作会影响性能和速度。(4)在问题(3)中提到,RTN通过查询语句简单精确的各种难度级别描述,并建立一个最优的访问计划,RTN需要分析数据结构,如果相关的表或相关的关键字比较多时(查询语句关连的表非常多),分析的时间就需要很长,影响查询速度。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供了以递归方法查询及控制多维数据库中的关系模型的方法以及对查询结果进行显示的方法。本专利技术还提供了在数据库中使用的标识和反向标识技术。根据本专利技术的第一方面,提供了一种在数据库中使用的标识和反向标识方法,所述数据库中包含个体,所述个体在逻辑上被分为主体和受体,所述标识的步骤包括对主体的信息进行添加、修改、删除;所述反向标识的步骤包括1)在数据库中查询所述受体的信息;2)如果查询到所述受体,则根据所述主体的信息而形成需要施加给所述受体的信息,并根据对所述主体进行的所述主体的信息的添加、修改、删除来对所述受体进行所形成的信息的添加、修改、删除;3)如果在数据库中并没有找到该受体,则在个体表中添加该受体相对应的信息, 并将相应的信息添加到该受体的对应行的某个字段中。优选地,其中,形成需要施加给所述受体的信息包括以下步骤在状态储存模块中查询与主体对受体发生状态相对应的受体对主体发生的状态,根据所查询到的受体对主体的状态来调整受体和主体的位置,并与所述主体的信息中的固定信息按预定的顺序组合起来,从而形成需要在受体的对应行的某个字段中添加的信息。根据本专利技术的第二方面,提供了一种对数据库中的实体表进行标识和反向标识的方法,所述实体表对应的实体在逻辑上被分为主体和受体,所述标识的步骤可包括在主体对应的实体表的关联实体模块中存储、修改或删除与所述实体表中的实体相关联的关联实体的标识;对受体对应的实体表进行反向标识的步骤可包括通过所述关联实体的标识在数据库中搜索与所述关联实体对应的实体表,如果搜索到对应的实体表,则在所述关联实体的对应的实体表的关联实体模块中存储、修改或删除所述实体的标识,如果未搜索到对应的实体表,并且在所述实体表的关联实体模块中进行的是存储或修改操作,则为所述关联实体创建实体表,并在为所述关联实体而创建的实体表中的关联实体模块中存储或修改所述实体的标识。根据本专利技术的第三方面,提供了一种对数据库中的状态表进行标识的方法,包括在状态储存模块添加状态,如果所述状态存在相对应的反向状态则在所述状态储存模块中添加所述反向状态,在状态表的关联状态模块中存储、修改或删除所述状态表中的主实体与关联实体发生的状态,并在所述状态表的时间维度模块中存储、修改或删除所述状态发生的时间,其中,所述状态储存模块是在数据库中定义的,用于存储实体本身发生的状态,实体间发生的各个状态以及与实体间发生的各个状态相对应的反向状态;对状态表进行反向标识的步骤可包括所述反向标识的步骤包括通过所述关联实体的标识在数据库中搜索与所述关联实体对应的状态表及在状态储存模块中的搜索反向状态,如果搜索到对应的状态表及匹配的反向状态,则利用搜索到的反向状态来在所述关联实体的对应的状态表的关联状态模块中存储、修改或删除所述关联实体与所述主实体发生的状态,并在所述关联实体的对应的状态表的时间维度模块中存储、修改或删除所述状态发生的时间,如果未搜索到对应的状态表,并且在所述主实体的状态表的关联状态模块中进行的是存储或修改操作,则为所述关联实体创建状态表,并在为所述关联实体而创建的状态表中的关联状态模块中利用搜索到的反向状态来存储或修改所述关联实体与所述主实体发生的状态,并在所述关联实体的对应的状态表的时间维度模块中存储或修改所述状态发生的时间。优选地,上述反向标识的步骤在标识操作之后自动进行。根据本专利技术的第四方面,提供了一种对包含关联模型的数据库中的关联模型进行查询的方法,包括以下步骤51)用户对某实体及关联模型发出查询指令;2)判断节点储存模块中是否存有该实体,若否,则返回查询空值,若是则进行到步骤3);3)判断是否存在与该实体对应的节点有第1级关联的节点,若否,则返回没有关联查询值,若是,则在递归查询模块中进行递归查询。优选地,其中,在递归查询模块中,包含以下步骤a)查询与该实体所对应的节点存在第1级关联的节点,读取节点ID并对第1级的各个关联进行编号,关联级数赋值为1 ;b)根据节点ID、关联级数和关联的编号来生成关联字符串并存储到存储器中;c)判断是否有下层递归,若是,则进入步骤d),若否,则进入步骤e);d)查询与该关联级的关联实体所对应的节点存在第1级关联的节点,读取节点ID 并对该级的各个关联进行编号,关联级数赋值为关联级数+1 ;e)读取存储器中的字符串,生成字符矩阵,优选地,其中,在完成递归查询后,把字符矩阵传送到显示模块。优选地,其中,判断是否有下层递归可通过查询是否存在与该关联级的关联实体所对应的节点有第1级关联的节点来实现。根据本专利技术的第五方面,提供了一种用于对如权利要求6-9所述的查询方法的查询结果进行显示的方法,包括如下步骤在节点储存模块中对与存储元素相对应的显示元素进行设定,同时将所述显示元素记录到节点储存模块中,所述存储元素包括节点标识、关联级数、各级中对关联的编号;在获取到递归查询的数据矩阵后,根据数据矩阵中记录的存储元素来在节点储存模块中查找与各个储存元素相匹配的显示元素;对显示元素进行显示,从而把字符矩阵所代表的关联模型显示出来。 附图说明图1示意性示出根据本专利技术的实施例的多维数据库模型。图2是根据本专利技术的实施例的标识与反向标识的流程图。图3示意性示出根据本专利技术的实施例的节点储存模型。图4示意性示出根据本专利技术的实施例的实体表的关联存储本文档来自技高网
...

【技术保护点】
1.一种在数据库中使用的标识和反向标识方法,所述数据库中包含个体,所述个体在逻辑上被分为主体和受体,所述标识的步骤包括:对主体的信息进行添加、修改、删除;所述反向标识的步骤包括:1)在数据库中查询所述受体的信息;2)如果查询到所述受体,则根据所述主体的信息而形成需要施加给所述受体的信息,并根据对所述主体进行的所述主体的信息的添加、修改、删除来对所述受体进行所形成的信息的添加、修改、删除;3)如果在数据库中并没有找到该受体,则在个体表中添加该受体相对应的信息,并将相应的信息添加到该受体的对应行的某个字段中。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴忠辉
申请(专利权)人:广州市西美信息科技有限公司
类型:发明
国别省市:81

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1