第1章 抛砖引玉 1
1.1 可交换性原则 3
1.2 仅限基表:约束 5
1.3 仅限基表:补偿性操作 6
1.4 视图:约束和补偿性操作 7
1.5 规则至上 8
1.6 小结 9
第2章 技术背景 11
2.1 关系和关系变量 12
2.2 关系赋值 15
2.3 一致性约束 19
2.4 关系变量谓词 21
2.5 MATCHING,NOTMATCHING以及EXTEND 25
2.6 数据库与数据库变量 27
第3章 视图概念:近距离观察 31
3.1 视图是伪变量 33
3.2 数据独立性 34
3.3 如何预防 37
3.4 约束和谓词 40
3.5 信息等价 44
3.6 小结 47
第4章 限制视图 53
4.1 “抛砖引玉”再回顾 53
4.2 更多关于补偿性操作的内容 57
4.3 关于触发器 61
4.4 关于显式更新操作 63
4.5 供应商与设备供应 65
4.6 再谈抛砖引玉 68
4.7 概括总结 70
4.8 最后一点 71
4.9 重叠限制 73
4.10 小结 75
第5章 投影视图 77
5.1 示例1:一个无损分解 77
5.2 示例1续:投影关系变量 83
5.3 示例1续:视图 85
5.4 示例2:另一个无损分解 85
5.4.1 投影关系变量 90
5.4.2 信息隐藏 91
5.4.3 视图 91
5.5 示例3:一个有损分解 92
5.5.1 投影关系变量 94
5.5.2 信息隐藏 95
5.5.3 视图 95
5.6 小结 96
第6章 连接视图Ⅰ:一对一连接 99
6.1 示例1:信息等价 100
6.2 示例2:信息隐藏 102
6.2.1 编译指示 107
6.2.2 对称 108
6.3 小结 111
第7章 连接视图Ⅱ:多对多连接 115
7.1 示例1:信息等价 115
7.1.1 补偿性操作 118
7.1.2 视图更新 121
7.2 再谈投影视图 123
7.3 示例2:信息隐藏 124
7.4 小结 126
第8章 连接视图Ⅲ:一对多连接 127
8.1 示例1:信息等价 127
8.2 示例2:信息隐藏 131
8.3 小结 133
第9章 交集视图 137
9.1 示例1:显式重叠 138
9.2 示例2:隐式重叠 142
9.2.1 更好的设计 144
9.2.2 另一个可能的设计 148
9.3 小结 149
第10章 合并视图 151
10.1 示例1:交集为空的合并 151
10.2 示例2:显式重叠 154
10.3 示例3:隐式重叠 156
10.3.1 一个更好的设计 159
10.3.2 关于交集为空的合并 161
10.4 小结 162
第11章 差异视图 165
11.1 示例1:隐式重叠 165
11.1.1 一个更好的设计 169
11.1.2 关于“包含差异” 171
11.2 示例2:显式重叠 172
11.3 小结 175
第12章 组合视图和去组合视图 177
12.1 组合(GROUP)和去组合(UNGROUP)运算符 177
12.2 一个组合/去组合示例 181
12.3 一个SUMMARIZE(概览)示例 184
第13章 展开视图与概览视图 189
13.1 一个展开示例 189
13.2 另一个概览示例 193
第14章 通过表达式进行更新 197
14.1 语义不是语法(?) 198
14.2 一些广为人知的重言式(永真式、套套逻辑) 200
14.3 “语义变换” 203
14.4 “信息等价”再回顾 205
14.5 小结 209
第15章 歧义问题再回顾 211
15.1 谓词和约束再回顾 212
15.2 一个交集示例 214
15.3 合并以及差异示例 216
15.3.1 合并 217
15.3.2 差异 218
15.4 更多关于谓词的内容 219
15.5 小结 220
附录A 关于关系赋值的一点意见 223
附录B 关系运算符 229