Preface |
|
xiii | |
Who Should Read This Book? |
|
xiii | |
What You Will Find |
|
xiii | |
Comparison with Other Books |
|
xiv | |
Acknowledgements |
|
xvi | |
|
|
1 | (8) |
|
|
1 | (1) |
|
|
1 | (1) |
|
|
2 | (1) |
|
1.4 Why Are Patterns Important? |
|
|
3 | (1) |
|
1.5 Drawbacks of Patterns |
|
|
4 | (1) |
|
1.6 Pattern vs. Seed Model |
|
|
4 | (1) |
|
1.7 Aspects of Pattern Technology |
|
|
5 | (1) |
|
|
6 | (3) |
|
|
6 | (1) |
|
|
7 | (2) |
|
Part I Mathematical Templates |
|
|
9 | (86) |
|
|
11 | (25) |
|
2.1 Hardcoded Tree Template |
|
|
12 | (3) |
|
|
15 | (4) |
|
2.3 Structured Tree Template |
|
|
19 | (4) |
|
2.4 Overlapping Trees Template |
|
|
23 | (4) |
|
2.5 Tree Changing over Time Template |
|
|
27 | (4) |
|
2.6 Degenerate Node and Edge Template |
|
|
31 | (2) |
|
|
33 | (3) |
|
|
34 | (1) |
|
|
34 | (2) |
|
Chapter 3 Directed Graph Template |
|
|
36 | (27) |
|
3.1 Simple Directed Graph Template |
|
|
37 | (3) |
|
3.2 Structured Directed Graph Template |
|
|
40 | (5) |
|
3.3 Node and Edge Directed Graph Template |
|
|
45 | (3) |
|
3.4 Connection Directed Graph Template |
|
|
48 | (4) |
|
3.5 Simple DG Changing over Time Template |
|
|
52 | (4) |
|
3.6 Node and Edge DG Changing over Time Template |
|
|
56 | (4) |
|
|
60 | (3) |
|
|
62 | (1) |
|
|
62 | (1) |
|
Chapter 4 Undirected Graph Template |
|
|
63 | (11) |
|
4.1 Node and Edge Undirected Graph Template |
|
|
64 | (2) |
|
4.2 Connection Undirected Graph Template |
|
|
66 | (3) |
|
4.3 Undirected Graph Changing over Time Template |
|
|
69 | (4) |
|
|
73 | (1) |
|
Chapter 5 Item Description Template |
|
|
74 | (10) |
|
5.1 Item Description Template |
|
|
74 | (4) |
|
5.2 Homomorphism Template |
|
|
78 | (4) |
|
|
82 | (2) |
|
|
83 | (1) |
|
|
83 | (1) |
|
Chapter 6 Star Schema Template |
|
|
84 | (7) |
|
|
84 | (5) |
|
|
89 | (2) |
|
|
89 | (1) |
|
|
90 | (1) |
|
Chapter 7 Summary of Templates |
|
|
91 | (4) |
|
|
95 | (24) |
|
Chapter 8 Universal Antipatterns |
|
|
97 | (14) |
|
8.1 Symmetric Relationship Antipattern |
|
|
97 | (2) |
|
8.2 Dead Elements Antipattern |
|
|
99 | (1) |
|
8.3 Disguised Fields Antipattern |
|
|
100 | (1) |
|
8.4 Artificial Hardcoded Levels Antipattern |
|
|
101 | (2) |
|
8.5 Excessive Generalization Antipattern |
|
|
103 | (1) |
|
8.6 Disconnected Entity Types Antipattern |
|
|
104 | (1) |
|
8.7 Modeling Errors Antipattern |
|
|
104 | (1) |
|
8.8 Multiple Inheritance Antipattern |
|
|
105 | (1) |
|
8.9 Paradigm Degradation Antipattern |
|
|
106 | (3) |
|
|
109 | (2) |
|
|
109 | (1) |
|
|
110 | (1) |
|
Chapter 9 Non-Data-Warehouse Antipatterns |
|
|
111 | (8) |
|
9.1 Derived Data Antipattern |
|
|
111 | (3) |
|
9.2 Parallel Attributes Antipattern |
|
|
114 | (2) |
|
9.3 Parallel Relationships Antipattern |
|
|
116 | (1) |
|
9.4 Combined Entity Types Antipattern |
|
|
116 | (2) |
|
|
118 | (1) |
|
|
119 | (28) |
|
|
121 | (26) |
|
|
121 | (1) |
|
|
122 | (2) |
|
|
124 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
128 | (2) |
|
|
130 | (1) |
|
|
131 | (2) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (1) |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
142 | (1) |
|
|
142 | (5) |
|
|
144 | (2) |
|
|
146 | (1) |
|
|
147 | (10) |
|
|
149 | (8) |
|
|
149 | (2) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
153 | (1) |
|
|
154 | (3) |
|
|
155 | (1) |
|
|
155 | (2) |
|
|
157 | (46) |
|
Chapter 12 Language Translation |
|
|
159 | (9) |
|
12.1 Alternative Architectures |
|
|
159 | (1) |
|
12.2 Attribute Translation in Place |
|
|
160 | (1) |
|
12.3 Phrase-to-Phrase Translation |
|
|
160 | (3) |
|
12.4 Language-Neutral Translation |
|
|
163 | (4) |
|
|
167 | (1) |
|
|
167 | (1) |
|
|
167 | (1) |
|
Chapter 13 Softcoded Values |
|
|
168 | (18) |
|
|
168 | (3) |
|
|
171 | (1) |
|
|
171 | (4) |
|
13.4 Softcoding Variations |
|
|
175 | (10) |
|
|
185 | (1) |
|
|
185 | (1) |
|
|
185 | (1) |
|
Chapter 14 Generic Diagrams |
|
|
186 | (12) |
|
14.1 Generic Diagram Examples |
|
|
186 | (1) |
|
14.2 Diagram Subject Area |
|
|
187 | (2) |
|
|
189 | (4) |
|
14.4 Diagram Binding Subject Area |
|
|
193 | (1) |
|
14.5 Diagram Type Subject Area |
|
|
193 | (1) |
|
14.6 Diagram Example, Revisited |
|
|
194 | (3) |
|
|
197 | (1) |
|
|
197 | (1) |
|
Chapter 15 State Diagrams |
|
|
198 | (5) |
|
|
198 | (2) |
|
|
200 | (2) |
|
|
202 | (1) |
|
|
202 | (1) |
|
|
202 | (1) |
|
Part VI Relational Database Design |
|
|
203 | (20) |
|
Chapter 16 Relational Database Design |
|
|
205 | (18) |
|
16.1 Mapping: Entity Types |
|
|
205 | (1) |
|
16.2 Mapping: Non-Qualified Relationships |
|
|
206 | (2) |
|
16.3 Mapping: Qualified Relationships |
|
|
208 | (2) |
|
16.4 Mapping: Generalizations |
|
|
210 | (2) |
|
|
212 | (4) |
|
16.6 Referential Integrity |
|
|
216 | (2) |
|
16.7 Miscellaneous Database Constraints |
|
|
218 | (2) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
221 | (2) |
|
|
222 | (1) |
|
|
222 | (1) |
|
Appendix A Explanation of the UML Notation |
|
|
223 | (6) |
|
|
223 | (1) |
|
|
224 | (3) |
|
|
227 | (1) |
|
|
227 | (1) |
|
|
228 | (1) |
|
Appendix B Explanation of the IDEF1X Notation |
|
|
229 | (6) |
|
|
229 | (1) |
|
|
230 | (3) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (6) |
Index |
|
241 | |