1. 概述
视图的依赖关系可以分为如下两种:
n 视图依赖于表
n 视图依赖于视图
下面我们将对这种视图结构的增量改造进行分析说明。
2. 视图增量模式证明
这里,我们分两步进行证明:表的简单关联、存在条件的表关联。
2.1. 表的简单关联
对于表的简单关联情况,我们分析出表的状态存在4种:删、增、改、不变。
针对A、B表,我们可以做出如下的分析:
A表 |
B表 |
视图 |
删 |
增 |
不变 |
删 |
删 |
删 |
删 |
改 |
删 |
删 |
不变 |
删 |
增 |
增 |
增 |
增 |
删 |
不变 |
增 |
改 |
增 |
增 |
不变 |
增 |
改 |
增 |
增 |
改 |
删 |
删 |
改 |
改 |
改 |
改 |
不变 |
改 |
不变 |
增 |
增 |
不变 |
删 |
删 |
不变 |
改 |
改 |
不变 |
不变 |
不变 |
根据上面的表格,我们可以分析出如下优先级顺序:删、增、改、不变。
于是可以转换为如下的分析矩阵:
|
删 |
增 |
改 |
不变 |
删 |
删 |
不变 |
删 |
删 |
增 |
不变 |
增 |
增 |
增 |
改 |
删 |
增 |
改 |
改 |
不变 |
删 |
增 |
改 |
不变 |
我们将增、改合并为merge,分析矩阵如下:
|
删 |
Merge |
不变 |
删 |
删 |
删/不变 |
删 |
Merge |
删/不变 |
Merge |
Merge |
不变 |
删 |
Merge |
不变 |
对于删、不变可以统一合并为删,最多相当于多一条没有数据的删除。
最终的视图分析结果模板如下:
n (A表Merge或者B表Merge)并且非(A表删除或者B表删除)会导致视图的Merge。(分析1-1&