Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Denormalization 通过查询自动反规范化_Denormalization_Database_Nosql - Fatal编程技术网

Denormalization 通过查询自动反规范化

Denormalization 通过查询自动反规范化,denormalization,database,nosql,Denormalization,Database,Nosql,我想知道是否有可能创建一个逻辑,通过一个特定的类似SQL的查询自动创建一个非规范化的表及其数据(并维护它) 给定一个用户可以维护其数据模型和数据的系统。所有数据都存储在“关系”表中,但这些表仅用于用户维护其数据。如果他想在网页上显示数据,他必须编写一个查询(SQL),该查询将自动转换为非规范化表,并且在更新/删除关系数据时保持最新 假设我有一个这样的问题: select t1.a, t1.b from t1 where t1.c = 1 该逻辑将根据查询自动创建一个非规范化表,其中包含所需数据

我想知道是否有可能创建一个逻辑,通过一个特定的类似SQL的查询自动创建一个非规范化的表及其数据(并维护它)

给定一个用户可以维护其数据模型和数据的系统。所有数据都存储在“关系”表中,但这些表仅用于用户维护其数据。如果他想在网页上显示数据,他必须编写一个查询(SQL),该查询将自动转换为非规范化表,并且在更新/删除关系数据时保持最新

假设我有一个这样的问题:

select t1.a, t1.b from t1 where t1.c = 1
该逻辑将根据查询自动创建一个非规范化表,其中包含所需数据的副本。它主要像一个视图(我想知道视图是否比我的方法更有效)。每当某些业务逻辑需要这个查询(给它一个名称)时,它就会被新表上的一个简单查询所取代

t1中的任何更新都将搜索涉及t1的所有查询,并自动更新非规范化数据,但对于performance win,它将只更新受感染的行(在本例中仅更新一行)。在这一点上,我不确定是否可以自动实现。示例查询很简单,但如果存在带有联接、聚合甚至子查询的查询,该怎么办

NoSQL世界中是否存在类似的方法,也许有人可以与它分享他的经验

我还想知道在使用NoSQL数据库时,为每个查询创建一个表是否与任何最佳实践相冲突

我知道如何解决简单查询,只需在更新数据时通过主键查找所涉及的实体,然后再次在该特定实体上运行查询(这样连接也将被更新)。但对于聚合和子查询,我真的不知道如何确定涉及哪个非规范化表的实体