Acknowledgements |
|
xiii | |
Introduction |
|
1 | (16) |
|
|
3 | (2) |
|
|
5 | (1) |
|
Where did the Savings Come From? |
|
|
5 | (3) |
|
|
8 | (3) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (4) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
Part I: Real Words in the Real World |
|
17 | (26) |
|
Chapter 1 It's All about the Words |
|
|
19 | (4) |
|
|
21 | (2) |
|
Chapter 2 Things: Entities, Objects, and Concepts |
|
|
23 | (6) |
|
|
28 | (1) |
|
Chapter 3 Containment and Composition |
|
|
29 | (6) |
|
|
29 | (2) |
|
|
31 | (2) |
|
|
33 | (2) |
|
Chapter 4 Types and Classes in the Real World |
|
|
35 | (8) |
|
|
35 | (2) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (3) |
|
|
39 | (1) |
|
|
40 | (1) |
|
Three Aspects of Types and Classes |
|
|
41 | (1) |
|
|
41 | (2) |
Part II: The Tyranny of Confusion |
|
43 | (44) |
|
Chapter 5 Entity-Relationship Modeling |
|
|
45 | (14) |
|
|
45 | (3) |
|
Multiple Levels of Abstraction |
|
|
48 | (2) |
|
Limitations of E-R Modeling Notation |
|
|
50 | (6) |
|
NoSQL Arrays and Nested Data Structures |
|
|
50 | (1) |
|
Lack of Reusable Composite Types |
|
|
51 | (3) |
|
|
54 | (1) |
|
|
54 | (1) |
|
Representing Individual Entities |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
56 | (2) |
|
|
56 | (1) |
|
|
57 | (1) |
|
E-R Terms Mapped to COMN Terms |
|
|
57 | (1) |
|
|
58 | (1) |
|
Chapter 6 The Unified Modeling Language |
|
|
59 | (8) |
|
|
59 | (2) |
|
|
60 | (1) |
|
|
61 | (2) |
|
|
61 | (1) |
|
Middling Level of Abstraction |
|
|
61 | (1) |
|
|
62 | (1) |
|
Subclassing versus Subtyping |
|
|
62 | (1) |
|
|
63 | (2) |
|
Relationship, Composition and Aggregation |
|
|
63 | (1) |
|
Type and Implementation Class |
|
|
64 | (1) |
|
UML Terms Mapped to COMN Terms |
|
|
64 | (1) |
|
|
65 | (2) |
|
Chapter 7 Fact-Based Modeling Notations |
|
|
67 | (8) |
|
|
67 | (2) |
|
Limitations of Fact-Based Modeling |
|
|
69 | (2) |
|
|
70 | (1) |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
71 | (3) |
|
Fact-Based Modeling Terms Mapped to COMN Terms |
|
|
72 | (2) |
|
|
74 | (1) |
|
Chapter 8 Semantic Notations |
|
|
75 | (8) |
|
Predicates and RDF Statements |
|
|
75 | (4) |
|
|
78 | (1) |
|
|
79 | (1) |
|
Graphical Notations for Semantics |
|
|
80 | (1) |
|
|
80 | (3) |
|
Chapter 9 Object-Oriented Programming Languages |
|
|
83 | (4) |
|
Classes, Objects, Types, and Variables |
|
|
83 | (2) |
|
|
85 | (2) |
Part III: Freedom in Meaning |
|
87 | (126) |
|
Chapter 10 Objects and Classes |
|
|
89 | (16) |
|
|
90 | (7) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (2) |
|
|
93 | (1) |
|
|
94 | (1) |
|
Material Objects in Computers |
|
|
94 | (2) |
|
|
96 | (1) |
|
|
97 | (5) |
|
|
98 | (7) |
|
Software Object Composition |
|
|
98 | (3) |
|
Authorizing Certain Routines |
|
|
101 | (1) |
|
|
102 | (2) |
|
|
104 | (1) |
|
Chapter 11 Types in Data and Software |
|
|
105 | (12) |
|
Types in Programming and Databases |
|
|
105 | (2) |
|
What does a Type tell us? |
|
|
106 | (1) |
|
Classes in Object-Oriented Software |
|
|
107 | (1) |
|
Separating Type and Class |
|
|
108 | (4) |
|
|
112 | (4) |
|
|
116 | (1) |
|
|
116 | (1) |
|
Chapter 12 Composite Types |
|
|
117 | (20) |
|
Composite Types as Logical Record Types |
|
|
117 | (2) |
|
Types Representing Things in the Real World: Identification |
|
|
119 | (4) |
|
Stepwise Refinement and Completeness |
|
|
122 | (1) |
|
Types Representing Other Types |
|
|
123 | (2) |
|
Measures as Composite Types |
|
|
125 | (3) |
|
|
128 | (2) |
|
|
130 | (2) |
|
|
132 | (3) |
|
|
135 | (1) |
|
|
135 | (2) |
|
Chapter 13 Subtypes and Subclasses |
|
|
137 | (18) |
|
|
137 | (7) |
|
|
143 | (1) |
|
|
144 | (2) |
|
Subtypes and Extensions: Perfect Together |
|
|
146 | (5) |
|
|
151 | (2) |
|
Using Subtype Variables and Values |
|
|
151 | (1) |
|
Using Extending Types and Classes |
|
|
152 | (1) |
|
Projection: The Inverse of Extension |
|
|
153 | (1) |
|
|
154 | (1) |
|
Chapter 14 Data and Information |
|
|
155 | (12) |
|
|
155 | (2) |
|
Is Information Always True? |
|
|
157 | (1) |
|
|
157 | (4) |
|
|
159 | (1) |
|
|
160 | (1) |
|
|
160 | (1) |
|
Information and Data as Colloquialisms |
|
|
161 | (4) |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
162 | (1) |
|
"Unstructured Data" and "Semi-Structured Data" |
|
|
163 | (2) |
|
|
165 | (1) |
|
|
166 | (1) |
|
Chapter 15 Relationships and Roles |
|
|
167 | (10) |
|
|
167 | (3) |
|
Labeling Relationship Lines |
|
|
170 | (4) |
|
|
171 | (3) |
|
Roles, Predicates, and Relationships |
|
|
174 | (1) |
|
|
175 | (2) |
|
Chapter 16 The Relational Theory of Data |
|
|
177 | (20) |
|
|
178 | (4) |
|
|
178 | (2) |
|
|
180 | (1) |
|
The Significance of Columns |
|
|
181 | (1) |
|
|
182 | (1) |
|
Technical Relational Terminology |
|
|
182 | (5) |
|
Tuple and Relation Schemes |
|
|
185 | (1) |
|
Giving Data to the System |
|
|
185 | (1) |
|
Data Attribute Versus Attribute |
|
|
186 | (1) |
|
Relational Terminology Reprise |
|
|
187 | (1) |
|
Composite Data Attributes |
|
|
187 | (3) |
|
|
190 | (1) |
|
NoSQL Versus the Relational Model |
|
|
191 | (1) |
|
SQL Versus the Relational Model |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
194 | (3) |
|
Chapter 17 NoSQL and SQL Physical Design |
|
|
197 | (16) |
|
What's Different about NoSQL? |
|
|
197 | (1) |
|
|
198 | (1) |
|
ACID versus BASE and Scalability |
|
|
199 | (4) |
|
|
199 | (2) |
|
|
200 | (1) |
|
|
200 | (1) |
|
|
200 | (1) |
|
|
201 | (1) |
|
|
201 | (2) |
|
NoSQL and SQL Data Organization |
|
|
203 | (8) |
|
|
204 | (1) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
208 | (3) |
|
|
211 | (1) |
|
|
211 | (2) |
Part IV: Case Study |
|
213 | (18) |
|
Chapter 18 The Common Coffee Shop |
|
|
215 | (16) |
|
Analysis: Documenting Real-World Entities |
|
|
215 | (5) |
|
Logical Data Modeling: Designing the Data |
|
|
220 | (6) |
|
Physical Data Modeling: Designing the Implementation |
|
|
226 | (5) |
Appendix: COMN Quick Reference |
|
231 | (4) |
Glossary |
|
235 | (4) |
Photo and Illustration Credits |
|
239 | (2) |
Index |
|
241 | |