| Preliminaries and Overview | p. 1 |
| Introduction | p. 1 |
| The Database Environment | p. 3 |
| Architecture of Database Systems | p. 5 |
| Data Models | p. 6 |
| Entity Relationship Model | p. 7 |
| Database Languages | p. 9 |
| Structuring Database Systems | p. 11 |
| Functional Architecture | p. 11 |
| The Client-Server Architecture | p. 13 |
| Personal Computer Database Systems | p. 15 |
| Online Transaction Processing Systems | p. 16 |
| From Databases to Knowledge-Bases | p. 18 |
| Summary | p. 19 |
| Exercises | p. 20 |
| Bibliographic Notes and References | p. 21 |
| The Relational Model | p. 23 |
| The Relational Data Model | p. 23 |
| ER Model and Relational Model | p. 27 |
| Integrity Rules | p. 29 |
| Functional Dependency | p. 30 |
| Normal Forms for Relations | p. 32 |
| First Three Normal Forms | p. 32 |
| Boyce-Codd Normal Form | p. 38 |
| Summary | p. 39 |
| Exercises | p. 39 |
| Bibliographic Notes and References | p. 41 |
| Relational Operations and Further Normalization | p. 43 |
| Relational Algebra Operators | p. 44 |
| Basic Operators | p. 44 |
| Derived Operators | p. 46 |
| Relational Calculus | p. 48 |
| Multivalued Dependencies | p. 50 |
| The Fourth Normal Form | p. 55 |
| Lossless Join Decomposition | p. 56 |
| Join Dependency | p. 61 |
| The Fifth Normal Form | p. 62 |
| Summary | p. 62 |
| Exercises | p. 63 |
| Bibliographic Notes and References | p. 65 |
| Relational Database Languages and Systems | p. 67 |
| SQL | p. 68 |
| Operations on Single Tables | p. 71 |
| Queries Involving more than One Table | p. 72 |
| Nested Queries | p. 73 |
| Aggregate Functions | p. 76 |
| Other Operations | p. 77 |
| Shortcomings of SQL | p. 79 |
| QUEL | p. 80 |
| Aggregate Operations | p. 84 |
| Other Operations | p. 85 |
| Query-By-Example | p. 86 |
| Aggregate Operators | p. 89 |
| Other Operations | p. 89 |
| Recursive Queries | p. 90 |
| Criteria for Evaluating Relational Database Systems | p. 91 |
| Summary | p. 97 |
| Exercises | p. 97 |
| Bibliographic Notes and References | p. 99 |
| Hierarchical and Network Models | p. 101 |
| The Hierarchical Data Model | p. 103 |
| Translating Entity-Relationship Representations | p. 104 |
| Logical Relationships | p. 104 |
| Database Definition | p. 107 |
| Hierarchical Data Manipulation | p. 107 |
| The Network Model | p. 111 |
| From Hierarchy to Network | p. 111 |
| Background | p. 111 |
| Network Model Data Structures | p. 113 |
| The DBTG Set | p. 115 |
| Data Definition Language | p. 116 |
| Network Data Manipulation | p. 118 |
| Conclusion | p. 125 |
| Summary | p. 126 |
| Exercises | p. 126 |
| Bibliographic Notes and References | p. 128 |
| Physical Data Organization | p. 131 |
| Basic Concepts | p. 131 |
| Addressing | p. 134 |
| Performance Measures | p. 135 |
| Heap Storage | p. 136 |
| Indexed Sequential Organization | p. 137 |
| Multi-level Indexes | p. 141 |
| Tree Structures | p. 142 |
| The B-Tree Organization | p. 145 |
| B+trees | p. 153 |
| Hashed Files | p. 153 |
| Basic Hashing Scheme | p. 154 |
| Problems with the Basic Scheme | p. 157 |
| Extendible Hashing | p. 158 |
| Linear Hashing | p. 163 |
| Multi-key Organizations | p. 166 |
| Grid Files | p. 168 |
| Partitioned Hash Functions | p. 170 |
| Summary | p. 172 |
| Exercises | p. 173 |
| Bibliographic Notes and References | p. 175 |
| Elements of Database Design | p. 177 |
| Requirement Analysis | p. 179 |
| Conceptual Modeling | p. 180 |
| The Extended Entity-Relationship Model | p. 181 |
| Conceptual Representation with the EER Model | p. 183 |
| Data Modeling | p. 187 |
| Transaction Analysis | p. 188 |
| Database Performance | p. 189 |
| Tools for Physical Database Design | p. 192 |
| Summary | p. 194 |
| Exercises | p. 194 |
| Bibliographic Notes and References | p. 195 |
| Protection and Preservation of Databases | p. 197 |
| Transactions | p. 197 |
| Integrity Control | p. 199 |
| Integrity Constraints | p. 201 |
| Integrity Constraints in SQL | p. 204 |
| Integrity Features in INGRES | p. 206 |
| Security | p. 207 |
| Views | p. 210 |
| View Definition and Authorization in SQL | p. 211 |
| Security Features in INGRES | p. 214 |
| Database Recovery | p. 216 |
| Log-based Recovery Schemes | p. 218 |
| Shadow Paging | p. 223 |
| Summary | p. 224 |
| Exercises | p. 224 |
| Bibliographic Notes and References | p. 226 |
| Concurrency Control | p. 229 |
| Transactions and Serializability | p. 230 |
| Concurrency Control through Locking | p. 236 |
| Deadlocks | p. 238 |
| Avoiding Deadlocks | p. 241 |
| Deadlock Detection and Resolution | p. 243 |
| Locking Modes | p. 244 |
| Timestamping | p. 245 |
| Summary | p. 248 |
| Exercises | p. 249 |
| Bibliographic Notes and References | p. 250 |
| Distributed Database Systems | p. 253 |
| Features of Distributed Database Systems | p. 254 |
| Structuring Distributed Databases | p. 256 |
| Query Optimization | p. 258 |
| Semijoin Programs | p. 261 |
| Concurrency Control | p. 263 |
| Concurrency Control based on Locking | p. 263 |
| Handling Deadlocks | p. 265 |
| Timestamping | p. 267 |
| Recovery | p. 267 |
| Two-phase Commit Protocol | p. 269 |
| Implementations | p. 270 |
| Summary | p. 270 |
| Exercises | p. 271 |
| Bibliographic Notes and References | p. 272 |
| Deductive Databases | p. 275 |
| Introduction | p. 275 |
| Structure | p. 276 |
| Architecture | p. 277 |
| Basic Elements | p. 277 |
| Database Systems and Prolog | p. 280 |
| Inference and Query Processing in Prolog | p. 280 |
| Prolog for Database Queries | p. 282 |
| Limitations of Prolog for Database Usage | p. 285 |
| Datalog | p. 286 |
| Query Processing Strategies | p. 287 |
| Recursive Query Processing | p. 288 |
| Naive Evaluation | p. 289 |
| Semi-Naive Evaluation | p. 290 |
| Magic Sets | p. 291 |
| Implementations | p. 296 |
| Summary | p. 296 |
| Exercises | p. 297 |
| Bibliographic Notes and References | p. 298 |
| Object-Oriented Database Systems | p. 301 |
| Introduction | p. 301 |
| Object-Oriented Programming Languages | p. 303 |
| Features of Object-Oriented Database Systems | p. 306 |
| Querying Object-Oriented Databases | p. 313 |
| Implementations | p. 316 |
| Summary | p. 317 |
| Bibliographic Notes and References | p. 317 |
| Table of Contents provided by Ingram. All Rights Reserved. |