不使用结构化查询语言的数据库的制作方法_3

文档序号:9646595阅读:来源:国知局
关系数据库的方式组织的多个表。然而,本发明的实施例可用于在无需使用SQL或其他形式查询语言的情况下搜索这些数据。
[0042]作为另一实施例,本发明的实施例可将数据以将这些数据表示为以传统关系数据库的方式组织的多个表的格式存储在双射集合存储器102中。换句话说,双射集合存储器102可用于以传统关系数据库的形式存储数据,而并不使用本文公开的三维关系。然后可用本发明的实施例在无需使用SQL或其他形式查询语言的情况下搜索这些数据。
[0043]虽然本发明的实施例可用于克服关系数据库系统的诸多限制,但是在现有的关系数据库中存储有大量数据。因此,可能有用的是将现有数据从现有关系数据库转移到根据本发明实施例存储的数据库中,也就是通过将存储在现有关系数据库中的数据转移至存储在双射集合存储器102中的迭代集合中。这一转移可按如下方式执行。
[0044]如上文所述,双射集合存储器102可存储数据以及那些数据间的“包含”和“隶属”关系。因此,为了将现有关系数据库转换(转移)至双射集合存储器中的迭代集合中,可对关系数据库中的数据执行下述操作:
[0045].关系数据库每个字段的每个值可存储在双射集合存储器102的元素(感知)存储器110中。
[0046].关系数据库中的每个表可由双射集合存储器102的概念存储器112中的数据表不ο
[0047]?双射集合存储器102可存储指示感知存储器110中每个字段值和概念存储器112中该字段值所属的相应表之间的“隶属”关系的数据。
[0048].关系数据库中每个表中的每列(字段)可由双射集合存储器102的概念存储器112中的数据表示。
[0049]?双射集合存储器102可存储指示概念存储器110中每个字段值和概念存储器112中包含该字段值的列之间的“隶属”关系的数据。例如,如果“头发颜色”字段的值为“黑”,那么值“黑”可存储在感知存储器110中,字段(列)类型“头发颜色”可存储在概念存储器112中,双射集合存储器102可存储指示该字段值“黑”属于“头发颜色”字段的数据。
[0050]这一转换的结果是包含在双射集合存储器102中的数据库。这一数据库表示与原始关系数据库相同的数据和关系,但形式不同。
[0051]查询包含在双射集合存储器102中的数据库包括提供描述了数据和该数据间关系的查询。作为响应,NTM 100提供具有由该查询指定的关系的数据的形式的查询结果。例如,查询可请求表示与具有指定名字(如“约翰史密斯”)的人具有“收款方”关系的人的所有数据(其中,通过指定“约翰史密斯”属于“名字”列,“约翰史密斯”由该查询指示为名字)。由于数据间的关系(诸如“收款方”关系)在双射集合存储器102中被存储为感知存储器110和概念存储器112之间的关系,本发明的实施例可执行这一查询并提供包含数据库中满足这一查询的所有数据的搜索结果。
[0052]注意,上述示例查询并不需要指定要搜索的任何特定表。这可能是由于整个数据库存储在双射集合存储器102中,它可以不包括多个表。然而,即使NTM 100搜索存储在多个表中的数据,提供至图1的NTM100的查询也可不指定要搜索的任何特定表。如果将要使用该查询搜索的数据存储在一个或多个表中,那么NTM 100可基于该查询自动确定要搜索的(多个)表,即使该查询并不指定该表。
[0053]此外,注意上述示例查询并不指定连接操作。这可能由于双射集合存储器102中的所有数据在执行该查询前已被连接在一起。
[0054]如上述示例所述,根据本发明多个实施例由NTM 100执行的查询可具有下述特征的任意一个或多个:
[0055].当执行该查询时,该查询可缺少对要搜索的任意表的任何引用。
[0056].该查询可缺少对连接操作的任何引用。
[0057].该查询可不以SQL或任意其他形式查询语言编写。
[0058].该查询可指定一个或多个集合关系,诸如“是下述类的一个成员”或“是包括下述成员的一个类”。
[0059]本发明的实施例可使用两个或更多个下述操作种类的每一个执行查询(搜索):
[0060]?演绎。演绎包括演绎指定实例(感知)的类(概念)。参考双射集合存储器102,演绎包括遵循从表示感知存储器110中实例的数据至表示概念存储器112中类的相应数据的关系。本发明的实施例可非常高效地执行演绎,这是因为数据间的实例-类关系已经存储在双射集合存储器102中。本发明的实施例可使用演绎执行查询中的项,所述项指定了特定实例并请求该实例作为其中一个成员的一个或多个类,诸如“哪种动物是主教鸟? ”。
[0061].还原。还原包括识别作为指定类(概念)的成员的实例(感知)。参考双射集合存储器102,还原包括遵循从表示概念存储器112中的类的数据至表示感知存储器110中的实例的相应数据的关系。本发明的实施例可非常高效地执行还原,这是因为数据间的实例-类关系已经存储在双射集合存储器102中。本发明的实施例可使用还原执行查询中的项,所述项指定了特定类并请求作为该类成员的实例,诸如“哪些动物是鸟? ”。
[0062]为了说明本发明的某些实施例,现在将描述传统关系数据库的特定示例和本发明实施例的特定示例。
[0063]参考图3A,示出了根据传统关系数据库系统实现的第一表300。表300包括行(记录)302a-c和列304a-d。出于示例的目的,列304a包括“姓名”字段中的数据,列304b包括“车辆”字段中的数据,列304c包括“SSN”字段中的数据,以及列304d包括“位置”字段中的数据。因此,此表300包括表示在特定位置(列304d)购买了由特定车辆制造商(列304b)所制造的车辆的人(列304a)的数据。列304c包括表示每个人的社会保险号(SSN)的数据。
[0064]本发明的实施例可用于存储和/或搜索图3A的表格300中的数据。例如,图3A的表300可存储在位于图1的NTM 100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3A的表300的数据存储在NTM100的双射集合存储器102中。不管表300的数据如何存储以及存储在何处,图1的NTM 100都可用于使用本文公开的技术搜索该数据。
[0065]参见图3B,示出了根据图3A的传统关系数据库系统实现的第二表320。此表320包括与人相关的数据,诸如表示为图3A的表300中的车辆购买者中的一人或多人。表320包括行(记录)322a-c和列324a_d。每一行322a_c都包括与特定人相关的数据。出于示例的目的,列324a包括“姓名”字段中的数据、列324b包括“电话”字段中的数据,以及列324c包括“SSN”字段中的数据。对于表示特定人的每一行,“姓名”列324a包括表示人名的数据,“电话”列324b包括表示人的电话号码的数据,以及“SSN”列324c包括表示人的社会保险号的数据。
[0066]本发明的实施例可用于存储和/或搜索图3B的表320中的数据。例如,图3B的表320可存储在位于图1的NTM 100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3B的表320的数据存储在NTM 100的双射集合存储器102中。不管表320的数据如何存储以及存储在何处,图1的NTM 100都可用于使用本文公开的技术搜索该数据。
[0067]参见图3C,示出了根据图3B的传统关系数据库系统实现的第三表340。此表340包括与人相关的数据,诸如表示为图3A的表300中的车辆购买者中的一人或多人。表340包括行(记录)342a_c和列344a_d。每一行342a_c都包括与特定人相关的数据。为了示例的目的,列344a包括“姓名”字段中的数据、列344b包括“年龄”字段中的数据,以及列344c包括“SSN”字段中的数据。对于表示特定人的每一行,“姓名”列344a包括表示人名的数据,“年龄”列344b包括表示人的年龄的数据,以及“SSN”列344c包括表示人的社会保险号的数据。
[0068]本发明的实施例可用于存储和/或搜索图3C的表340中的数据。例如,图3C的表340可存储在位于图1的NTM 100外部的关系数据库中。作为另一示例,本发明的实施例可使用三维关系或者使用传统关系数据库所使用类型的传统关系,将来自图3C的表340的数据存储在NTM 100的双射集合存储器102中。不管表340的数据如何存储以及存储在何处,图1的NTM 100都可用于使用本文公开的技术搜索该数据。
[0069]正如可从表300、320以及340的视觉观察看到的,表300、320以及340都包括与名叫凯伦布朗的人相关的数据。在传统关系数据库系统中,为了对包括表300、320、340的数据库执行查询以提取与凯伦布朗有关的信息,需要基于表300、320、以及340的结构的先验知识(例如,表300、320、340中列的知识、以及哪列用作彼此相关的主键和外键的知识)以形式查询语言(诸如SQL)编写查询,然后执行该查询。在传统关系数据库系统中执行这一查询涉及对存储在表300、320以及340中的数据执行连接操作。
[0070]相反地,本发明的某些实施例可存储表示与图3A-3C所示信息相似的信息的数据,但无需使用多个表,尽管在本发明某些其他实施例中图3A-3C的数据可使用多个表进行存储。此外,本发明的某些实施例可对这些数据执行查询而无需搜索多个表,尽管本发明的某些其他实施例中该NTM 100可搜索多个表。此外,本发明的实施例可搜索图3A-3C的数据而无需执行连接操作。此外,由本发明实施例执行的查询无需以形式查询语言(诸如SQL)编写,并且无需基于要
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1