The undergraduate material in this book has been updated and split off into a separate text entitled Database Systems: An Application-Oriented Approach, Introductory Version . This smaller text is offered at a lower price. See http://aw-bc.com/info/kifer for a description. The 2nd edition of the complete book, Databases and Transaction Processing: An Application-Oriented Approach, Full Version , is expected in Spring 2005. All chapters will be updated to the latest developments in the field. New material will be added on UML, OLAP and Data Mining, and Deductive Databases. In addition, the book will have new chapters on Database Tuning and Web Services.
Table of Contents
1. Overview of Databases and Transactions.
What Are Databases and Transactions? Features of Modern Database and Transaction Processing Systems. Major Players in the Implementation and Support of Database and Transaction Processing Systems. Decision Support Systems - OLAP and OLTP.
2. A Closer Look.
Cast Study: A Student Registration System. Introduction to Relational Databases. What Makes a Program a Transaction?
3. Case Study: Starting the Student Registration System.
Software Engineering Methodology. Requirements Document. Requirements Analysis-New Issues. Application Generators. GUIs and Objects. Events and Procedures. Accessing Databases and Executing Transactions. Specifying the Student Registration System. Specification Document.
II. DATABASE MANAGEMENT.
4. The Relational Data Model.
What Is a Data Model? The Relational Model. SQL: Data Definition Sublanguage.
5. Database Design I: The Entity-Relationship Model.
Conceptual Modeling with the E-R Approach. Entities and Entity Types. Relationships and Relationship Types. Advanced Features of the E-R Approach. A Brokerage Firm Example. Limitations of the E-R Approach. Case Study: A Design for the Student Registration System.
6. Query Languages I: Relational Algebra and SQL.
Relational Algebra: Under the Hood of SQL. The Query Sublanguage of SQL. Modifying Relation Instances in SQL.
7. Query Languages II: Relational Calculus and Visual Query Languages.
Tuple Relational Calculus. Understanding SQL through Tuple Relational Calculus. Domain Relational Calculus and Visual Query Languages. Visual Query Languages: QBE and PC Databases. The Relationship between Relational Algebra and the Calculi. Recursive Queries in SQL:1999.
The Problem of Redundancy. Decompositions. Functional Dependencies. Properties of Functional Dependencies. Normal Forms. Properties of Decompositions. An Algorithm for BCNF Decomposition. Synthesis of 3NF Schemas. The Fourth Normal Form. Advanced 4NF Design. Summary of Normal Form Decomposition. Case Study: Schema Refinement for the Student Registration System.
9. Triggers and Active Databases.
Semantic Issues in Trigger Handling. Triggers in SQL:1999. Avoiding a Chain Reaction.
10. SQL in the Real World.
Executing SQL Statements within an Application Program. Embedded SQL. More on Integrity Constraints. Dynamic SQL. JDBC and SQLJ. ODBC. Comparison.
11. Physical Data Organization and Indexing.
Disk Organization. Heap Files. Sorted Files. Indices. Multilevel Indexing. Hash Indexing. Special-Purpose Indices. Tuning Issues: Choosing Indices for an Application.
12. Case Study: Completing the Student Registration System.
The Design Document. Test Plan. Project Planning. Coding. Incremental Development. Design and Code for the Student Registration System.
13. The Basics of Query Processing.
External Sorting. Computing Projection, Union, and Set Difference. Computing Selection. Computing Joins. Multi-Relational Joins. Computing Aggregate Functions. Tuning Issues: Impact on Physical Database Design.
14. Overview of Query Optimization.
Overview of Query Processing. Heuristic Optimization Based on Algebraic Equivalences. Estimating the Cost of a Query Execution Plan. Estimating the Size of the Output. Choosing a Plan. Tuning Issues: Impact on Query Design.
15. An Overview of Transaction Processing.
Isolation. Atomicity and Durability. Implementing Distributed Transactions.
III. ADVANCED TOPICS IN DATABASES.
16. Object Databases.
Shortcomings of the Relational Data Model. Historical Developments. The Conceptual Object Data Model. The ODMG Standard. Objects in SQL:1999. Common Object Request Broker Architecture.
17. XML and Web Data.
Semistructured Data. Overview of XML. XML Schema. XML Query Languages.
18. Distributed Databases.
The Application Designer's View of the Database. Distributing Data Among Different Databases. Query Planning Strategies.
19. OLAP and Data Mining.
OLAP and Data Warehouses—Old and New. A Multi-Dimensional Model for OLAP Applications. Aggregation. ROLAP and MOLAP. Implementation Issues. Data Mining. Populating a Data Warehouse.
IV. TRANSACTION PROCESSING.
20. ACID Properties of Transactions.
Consistency. Atomicity. Durability. Isolation. The ACID Properties.
21. Models of Transactions.
Flat Transactions. Providing Structure within a Transaction. Structuring an Application into Multiple Transactions.
22. Architecture of Transaction Processing Systems.
Transaction Processing in a Centralized System. Transaction Processing in a Distributed System. Heterogeneous Systems and the TP Monitor. The TP Monitor: Communication and Global Atomicity. Transaction Processing on the Internet.
23. Implementing Isolation.
Schedules and Their Equivalence. Recoverability, Cascaded Aborts, and Strictness. Models for Concurrency Controls. A Strategy for Immediate-Update Pessimistic Concurrency Controls. Design of an Immediate-Update Pessimistic Concurrency Control. Objects and Semantic Commutativity. Isolation in Structured Transaction Models. Other Concurrency Controls.
24. Isolation in Relational Databases.
Locking. Locking and the SQL Isolation Levels. Granular Locking: Intention Locks and Index Locks. Improving System Performance. Multiversion Concurrency Controls.
25. Atomicity and Durability.
Crash, Abort, and Media Failure. Immediate-Update Systems and Write-Ahead Logs. Recovery in Deferred-Update Systems. Recovery from Media Failure.
26. Implementing Distributed Transactions.
Implementing the ACID Properties. Atomic Termination. Transfer of Coordination. Distributed Deadlock. Global Serialization. When Global Atomicity Cannot Be Guaranteed. Replicated Databases. Distributed Transactions in the Real World.
27. Security and Internet Commerce.
Authentication, Authorization, and Encryption. Encryption. Digital Signatures. Key Distribution and Authentication. Authorization. Authenticated Remote Procedure Call. Internet Commerce.
Appendix: System Issues.
Basic System Issues. Multigprogrammed Operating Systems. Threads. Communication.