
Introduction to Database and Knowledge-Base Systems
by S KrishnaISBN-10: 9810206194
ISBN-13: 9789810206192
Pub. Date: 03/28/1992
Publisher: World Scientific Publishing Company, Incorporated
Rather than be restricted to a single example
Overview
This book provides a comprehensive yet concise coverage of the concepts and technology of database systems and their evolution into knowledge bases. The traditional material on database systems at senior undergraduate level is covered. An understanding of concepts is emphasized avoiding extremes in formalism or detail.
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.
Product Details
- ISBN-13:
- 9789810206192
- Publisher:
- World Scientific Publishing Company, Incorporated
- Publication date:
- 03/28/1992
- Series:
- World Scientific Series In Computer Science Series
- Pages:
- 344
Table of Contents
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 |
Customer Reviews
Average Review: