Denormalization 通过查询自动反规范化
我想知道是否有可能创建一个逻辑,通过一个特定的类似SQL的查询自动创建一个非规范化的表及其数据(并维护它) 给定一个用户可以维护其数据模型和数据的系统。所有数据都存储在“关系”表中,但这些表仅用于用户维护其数据。如果他想在网页上显示数据,他必须编写一个查询(SQL),该查询将自动转换为非规范化表,并且在更新/删除关系数据时保持最新 假设我有一个这样的问题:Denormalization 通过查询自动反规范化,denormalization,database,nosql,Denormalization,Database,Nosql,我想知道是否有可能创建一个逻辑,通过一个特定的类似SQL的查询自动创建一个非规范化的表及其数据(并维护它) 给定一个用户可以维护其数据模型和数据的系统。所有数据都存储在“关系”表中,但这些表仅用于用户维护其数据。如果他想在网页上显示数据,他必须编写一个查询(SQL),该查询将自动转换为非规范化表,并且在更新/删除关系数据时保持最新 假设我有一个这样的问题: select t1.a, t1.b from t1 where t1.c = 1 该逻辑将根据查询自动创建一个非规范化表,其中包含所需数据
select t1.a, t1.b from t1 where t1.c = 1
该逻辑将根据查询自动创建一个非规范化表,其中包含所需数据的副本。它主要像一个视图(我想知道视图是否比我的方法更有效)。每当某些业务逻辑需要这个查询(给它一个名称)时,它就会被新表上的一个简单查询所取代
t1中的任何更新都将搜索涉及t1的所有查询,并自动更新非规范化数据,但对于performance win,它将只更新受感染的行(在本例中仅更新一行)。在这一点上,我不确定是否可以自动实现。示例查询很简单,但如果存在带有联接、聚合甚至子查询的查询,该怎么办
NoSQL世界中是否存在类似的方法,也许有人可以与它分享他的经验
我还想知道在使用NoSQL数据库时,为每个查询创建一个表是否与任何最佳实践相冲突
我知道如何解决简单查询,只需在更新数据时通过主键查找所涉及的实体,然后再次在该特定实体上运行查询(这样连接也将被更新)。但对于聚合和子查询,我真的不知道如何确定涉及哪个非规范化表的实体