Logic and Databases: The Roots of Relational TheoryLogic and databases are inextricably intertwined. The relational model in particular is essentially just elementary predicate logic, tailored to fit the needs of database management. Now, if you're a database professional, I'm sure this isn't news to you; but you still might not realize just how much everything we do in the database world is - or should be! - affected by predicate logic. Logic is everywhere. So if you're a database professional you really owe it to yourself to understand the basics of formal logic, and you really ought to be able to explain (and perhaps defend) the connections between formal logic and database management. And that's what this book is about. What it does is show, through a series of partly independent and partly interrelate essays, just how various crucial aspects of database technology-some of them very familiar, others maybe less so- are solidly grounded in formal logic. It is divided into five parts: There's also a lengthy appendix, containing a collection of frequently asked questions (and some answers) on various aspects of logic and database management. Overall, my goal is to help you realize the importance of logic in everything you do, and also- I hope- to help you see that logic can be fun. |
Wat mensen zeggen - Een recensie schrijven
Inhoudsopgave
A little history | 207 |
Sixth normal form | 209 |
Answers to exercises | 210 |
Denormalization Considered Harmful | 215 |
Denormalize for performance? | 216 |
What does denormalization mean? | 217 |
Definitions | 218 |
Examples | 219 |
| 19 | |
| 25 | |
| 28 | |
| 30 | |
| 31 | |
| 33 | |
| 41 | |
| 42 | |
| 43 | |
| 45 | |
| 47 | |
| 54 | |
| 55 | |
| 61 | |
| 62 | |
| 63 | |
| 65 | |
| 67 | |
| 69 | |
| 70 | |
| 73 | |
| 76 | |
| 78 | |
| 79 | |
| 80 | |
| 82 | |
| 84 | |
| 86 | |
| 87 | |
| 88 | |
A constraint classification scheme | 89 |
Concluding remarks | 91 |
Acknowledgments | 92 |
References and bibliography | 93 |
The Closed World Assumption | 95 |
Basic assumptions | 96 |
Why the CWA is preferred | 100 |
Relvar predicates revisted | 104 |
Putting it all together | 106 |
Dealing with uncertainty | 107 |
Negation and disjunction | 109 |
Concluding remarks | 113 |
Acknowledgments | 114 |
What about outer join? | 116 |
Why Relational DBMSs Must Be Based on Logic | 119 |
Propositional calculus | 121 |
Logical systems is general | 123 |
Predicate calculus | 127 |
The DBMS as a logical system | 129 |
Concluding remarks | 131 |
References and bibliography | 132 |
Why Relational DBMS Logic Must Not Be ManyValued | 135 |
A classification scheme | 137 |
Fragments | 138 |
Extensions and deviants | 139 |
Additional complexities | 142 |
Other manyvalued logics | 147 |
Relational threevalued logics | 148 |
References and bibliography | 149 |
Some useful 2VL tautologies | 150 |
LOGIC AND DATABASE DESIGN | 153 |
All for One One for All | 155 |
How many case are there? | 157 |
Examples of confusion | 161 |
Concluding remarks | 172 |
References and bibliography | 175 |
Normalization from Top to Bottom | 177 |
Relvars and keys | 178 |
Defining the problem | 180 |
Join dependencies | 183 |
Fifth normal form | 188 |
Join dependencies are integrity constraints | 189 |
Multivalued dependencies | 191 |
Fourth normal form | 199 |
BoyceCodd normal form | 201 |
Concluding remarks | 202 |
Acknowledgments | 203 |
Wheres do we stop? | 221 |
What denormalization isnt | 222 |
What denormalization isns bis | 225 |
The usability argument | 226 |
The integritry argument | 228 |
Concluding remarks | 232 |
LOGIC AND ALGEBRA | 235 |
Why Is It Called Relational Algebra? | 237 |
Basic algebra | 238 |
Generalizing basic algebra | 242 |
Isomorphism | 246 |
Boolean algebra | 248 |
The algebra of sets | 252 |
Matrix algebra | 255 |
Relational algebra | 256 |
Concluding remarks | 262 |
Acknowledgments | 269 |
References and bibliography | 270 |
Why is it called relational calculus? | 272 |
Semijoin and Semidifference | 275 |
Semijoin | 276 |
Semidifference | 277 |
More on semijoin | 278 |
More on semidifference | 280 |
The Theory of Bags An Investigative Tutorial | 283 |
Containment and inclusion | 284 |
Union intersection difference and product | 285 |
Union plus and intersection star | 288 |
Restriction | 289 |
What about complements? | 290 |
The algebra of set | 292 |
An algebra of bags | 294 |
Concluding remarks | 297 |
Acknowledgments | 298 |
LOGIC AND THE THIRD MANIFESTO | 299 |
Godel Russell Codd A Recursive Golden Crowd | 303 |
Discussion | 304 |
Remarks on Tutorial D | 305 |
A remark on the third | 306 |
References and bibliography | 308 |
To Be Is to Be a Value of a Variable | 309 |
Critic As objections | 311 |
Critic objections | 316 |
Multiple assignment | 324 |
Database values and variables | 326 |
Concluding remarks | 327 |
And Now for Something Completely Computational | 329 |
Decidability | 330 |
Computational completeness implies undecidability | 331 |
Does Codd avoid the trap? | 332 |
Why we want computational completeness | 334 |
Does it all matter? | 335 |
References and bibliography | 337 |
The Logic of View Updating | 339 |
Database variables | 341 |
Compensatory updates | 344 |
The principle of interchangeability | 346 |
Database inclusion and equivalence | 347 |
Total mapping | 349 |
Partial mappings | 353 |
Darwens overall objections | 358 |
Darwens detailed objections | 359 |
Darwens objections to orthogonality | 367 |
Darwens proposals | 369 |
Conclusion remarks | 373 |
References and bibliography | 374 |
Frequently Asked Questions | 377 |
Relational algebra | 381 |
Relvar predicates | 387 |
Relation valued attributes | 391 |
Keys and further normalization | 397 |
Missing information | 409 |
Variables types and constraints | 412 |
SQL criticisms | 422 |
References and bibliography | 434 |
Index | 439 |

