- Shopping Bag ( 0 items )
-
All (4) from $113.81
-
Used (4) from $113.81
Ships from: Sparks, NV
Usually ships in 1-2 business days
Ships from: Mishawaka, IN
Usually ships in 1-2 business days
Ships from: North Vancouver, Canada
Usually ships in 1-2 business days
Ships from: Dunfermline, United Kingdom
Usually ships in 1-2 business days
Rather than be restricted to a single example used over an entire book, a variety of examples are used. These enable the reader to understand the basic abstractions which underlie description of many practical situations.
A major portion of the book concerns database system technology with focus on the relational model. Various topics are discussed in detail, preparing the ground for more advanced work.
Chapter 1 | Preliminaries and Overview | 1 |
1.1 | Introduction | 1 |
1.2 | The Database Environment | 3 |
1.3 | Architecture of Database Systems | 5 |
1.4 | Data Models | 6 |
1.4.1 | Entity Relationship Model | 7 |
1.4.2 | Database Languages | 9 |
1.5 | Structuring Database Systems | 11 |
1.5.1 | Functional Architecture | 11 |
1.5.2 | The Client-Server Architecture | 13 |
1.5.3 | Personal Computer Database Systems | 15 |
1.5.4 | Online Transaction Processing Systems | 16 |
1.6 | From Databases to Knowledge-Bases | 18 |
1.7 | Summary | 19 |
Exercises | 20 | |
Bibliographic Notes and References | 21 | |
Chapter 2 | The Relational Model | 23 |
2.1 | The Relational Data Model | 23 |
2.1.1 | ER Model and Relational Model | 27 |
2.2 | Integrity Rules | 29 |
2.3 | Functional Dependency | 30 |
2.4 | Normal Forms for Relations | 32 |
2.4.1 | First Three Normal Forms | 32 |
2.4.2 | Boyce-Codd Normal Form | 38 |
2.5 | Summary | 39 |
Exercises | 39 | |
Bibliographic Notes and References | 41 | |
Chapter 3 | Relational Operations and Further Normalization | 43 |
3.1 | Relational Algebra Operators | 44 |
3.1.1 | Basic Operators | 44 |
3.1.2 | Derived Operators | 46 |
3.2 | Relational Calculus | 48 |
3.3 | Multivalued Dependencies | 50 |
3.4 | The Fourth Normal Form | 55 |
3.5 | Lossless Join Decomposition | 56 |
3.6 | Join Dependency | 61 |
3.6.1 | The Fifth Normal Form | 62 |
3.7 | Summary | 62 |
Exercises | 63 | |
Bibliographic Notes and References | 65 | |
Chapter 4 | Relational Database Languages and Systems | 67 |
4.1 | SQL | 68 |
4.1.1 | Operations on Single Tables | 71 |
4.1.2 | Queries Involving more than One Table | 72 |
4.1.3 | Nested Queries | 73 |
4.1.4 | Aggregate Functions | 76 |
4.1.5 | Other Operations | 77 |
4.1.6 | Shortcomings of SQL | 79 |
4.2 | QUEL | 80 |
4.2.1 | Aggregate Operations | 84 |
4.2.2 | Other Operations | 85 |
4.3 | Query-By-Example | 86 |
4.3.1 | Aggregate Operators | 89 |
4.3.2 | Other Operations | 89 |
4.3.3 | Recursive Queries | 90 |
4.4 | Criteria for Evaluating Relational Database Systems | 91 |
4.5 | Summary | 97 |
Exercises | 97 | |
Bibliographic Notes and References | 99 | |
Chapter 5 | Hierarchical and Network Models | 101 |
5.1 | The Hierarchical Data Model | 103 |
5.1.1 | Translating Entity-Relationship Representations | 104 |
5.1.2 | Logical Relationships | 104 |
5.1.3 | Database Definition | 107 |
5.2 | Hierarchical Data Manipulation | 107 |
5.3 | The Network Model | 111 |
5.3.1 | From Hierarchy to Network | 111 |
5.3.2 | Background | 111 |
5.3.3 | Network Model Data Structures | 113 |
5.3.4 | The DBTG Set | 115 |
5.3.5 | Data Definition Language | 116 |
5.4 | Network Data Manipulation | 118 |
5.5 | Conclusion | 125 |
5.6 | Summary | 126 |
Exercises | 126 | |
Bibliographic Notes and References | 128 | |
Chapter 6 | Physical Data Organization | 131 |
6.1 | Basic Concepts | 131 |
6.1.1 | Addressing | 134 |
6.1.2 | Performance Measures | 135 |
6.2 | Heap Storage | 136 |
6.3 | Indexed Sequential Organization | 137 |
6.3.1 | Multi-level Indexes | 141 |
6.3.2 | Tree Structures | 142 |
6.4 | The B-Tree Organization | 145 |
6.4.1 | B+trees | 153 |
6.5 | Hashed Files | 153 |
6.5.1 | Basic Hashing Scheme | 154 |
6.5.2 | Problems with the Basic Scheme | 157 |
6.6 | Extendible Hashing | 158 |
6.7 | Linear Hashing | 163 |
6.8 | Multi-key Organizations | 166 |
6.9 | Grid Files | 168 |
6.10 | Partitioned Hash Functions | 170 |
6.11 | Summary | 172 |
Exercises | 173 | |
Bibliographic Notes and References | 175 | |
Chapter 7 | Elements of Database Design | 177 |
7.1 | Requirement Analysis | 179 |
7.2 | Conceptual Modeling | 180 |
7.2.1 | The Extended Entity-Relationship Model | 181 |
7.2.2 | Conceptual Representation with the EER Model | 183 |
7.3 | Data Modeling | 187 |
7.4 | Transaction Analysis | 188 |
7.5 | Database Performance | 189 |
7.5.1 | Tools for Physical Database Design | 192 |
7.6 | Summary | 194 |
Exercises | 194 | |
Bibliographic Notes and References | 195 | |
Chapter 8 | Protection and Preservation of Databases | 197 |
8.1 | Transactions | 197 |
8.2 | Integrity Control | 199 |
8.2.1 | Integrity Constraints | 201 |
8.2.2 | Integrity Constraints in SQL | 204 |
8.2.3 | Integrity Features in INGRES | 206 |
8.3 | Security | 207 |
8.3.1 | Views | 210 |
8.3.2 | View Definition and Authorization in SQL | 211 |
8.3.3 | Security Features in INGRES | 214 |
8.4 | Database Recovery | 216 |
8.4.1 | Log-based Recovery Schemes | 218 |
8.4.2 | Shadow Paging | 223 |
8.5 | Summary | 224 |
Exercises | 224 | |
Bibliographic Notes and References | 226 | |
Chapter 9 | Concurrency Control | 229 |
9.1 | Transactions and Serializability | 230 |
9.2 | Concurrency Control through Locking | 236 |
9.2.1 | Deadlocks | 238 |
9.2.2 | Avoiding Deadlocks | 241 |
9.2.3 | Deadlock Detection and Resolution | 243 |
9.2.4 | Locking Modes | 244 |
9.3 | Timestamping | 245 |
9.4 | Summary | 248 |
Exercises | 249 | |
Bibliographic Notes and References | 250 | |
Chapter 10 | Distributed Database Systems | 253 |
10.1 | Features of Distributed Database Systems | 254 |
10.2 | Structuring Distributed Databases | 256 |
10.3 | Query Optimization | 258 |
10.3.1 | Semijoin Programs | 261 |
10.4 | Concurrency Control | 263 |
10.4.1 | Concurrency Control based on Locking | 263 |
10.4.2 | Handling Deadlocks | 265 |
10.4.3 | Timestamping | 267 |
10.5 | Recovery | 267 |
10.5.1 | Two-phase Commit Protocol | 269 |
10.6 | Implementations | 270 |
10.7 | Summary | 270 |
Exercises | 271 | |
Bibliographic Notes and References | 272 | |
Chapter 11 | Deductive Databases | 275 |
11.1 | Introduction | 275 |
11.1.1 | Structure | 276 |
11.1.2 | Architecture | 277 |
11.2 | Basic Elements | 277 |
11.3 | Database Systems and Prolog | 280 |
11.3.1 | Inference and Query Processing in Prolog | 280 |
11.3.2 | Prolog for Database Queries | 282 |
11.3.3 | Limitations of Prolog for Database Usage | 285 |
11.4 | Datalog | 286 |
11.5 | Query Processing Strategies | 287 |
11.5.1 | Recursive Query Processing | 288 |
11.5.2 | Naive Evaluation | 289 |
11.5.3 | Semi-Naive Evaluation | 290 |
11.5.4 | Magic Sets | 291 |
11.6 | Implementations | 296 |
11.7 | Summary | 296 |
Exercises | 297 | |
Bibliographic Notes and References | 298 | |
Chapter 12 | Object-Oriented Database Systems | 301 |
12.1 | Introduction | 301 |
12.2 | Object-Oriented Programming Languages | 303 |
12.3 | Features of Object-Oriented Database Systems | 306 |
12.4 | Querying Object-Oriented Databases | 313 |
12.5 | Implementations | 316 |
12.6 | Summary | 317 |
Bibliographic Notes and References | 317 | |
Index | 321 |
Overview
Rather than be restricted to a single example used over an entire book, a variety of examples are used. These enable the reader...