聚合视图的增量维护与CReaM算法解析
在数据库管理中,视图的增量维护是一个重要的问题,尤其是对于包含 setof 子目标的视图。本文将深入探讨视图增量维护的相关规则和算法,特别是CReaM算法,它能有效优化包含 setof 子目标的视图维护。
视图更新的微分规则
当视图定义涉及 setof 子目标时,需要特定的微分规则来处理视图的增量更新。假设视图 v 定义为 v( ¯X, W) :- setof( ¯Y , φ( ¯X, ¯Y , ¯Z), W) ,并且定义了视图 u 为 u( ¯X) :- v( ¯X, W) 。由于 ¯Z 未传递到视图 v ,视图元组可能有多个推导。此时,计算视图 v 的微分 v+( ¯X, W) 和 v−( ¯X, W) 的规则如下:
- v+( ¯X, W) :- setof( ¯Y , φ+( ¯X, ¯Y , ¯Z), W), ¬u( ¯X) (Γ1)
- v+( ¯X, W ∪W ′) :- setof( ¯Y , φ+( ¯X, ¯Y , ¯Z), W), setof( ¯Y ′, φ( ¯X, ¯Y ′, ¯Z), W ′), ¬v( ¯X, W ∪W ′) (Γ2)
- v+( ¯X, W ′ \ W)
CReaM算法解析与视图增量维护
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



