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.
1. Overview of Databases and Transactions.
What Are Databases and Transactions? 2. A Closer Look.
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.
Cast Study: A Student Registration System. 3. Case Study: Starting the Student Registration System.
Introduction to Relational Databases.
What Makes a Program a Transaction?
Software Engineering Methodology.
Requirements Analysis-New Issues.
GUIs and Objects.
Events and Procedures.
Accessing Databases and Executing Transactions.
Specifying the Student Registration System.
II. DATABASE MANAGEMENT.
4. The Relational Data Model.
What Is a Data Model? 5. Database Design I: The Entity-Relationship Model.
The Relational Model.
SQL: Data Definition Sublanguage.
Conceptual Modeling with the E-R Approach. 6. Query Languages I: Relational Algebra and SQL.
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.
Relational Algebra: Under the Hood of SQL. 7. Query Languages II: Relational Calculus and Visual Query Languages.
The Query Sublanguage of SQL.
Modifying Relation Instances in SQL.
Tuple Relational Calculus. 8. Database Design II: Relational Normalization Theory.
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. 9. Triggers and Active Databases.
Properties of Functional Dependencies.
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.
Semantic Issues in Trigger Handling. 10. SQL in the Real World.
Triggers in SQL:1999.
Avoiding a Chain Reaction.
Executing SQL Statements within an Application Program. 11. Physical Data Organization and Indexing.
More on Integrity Constraints.
JDBC and SQLJ.
Disk Organization. 12. Case Study: Completing the Student Registration System.
Tuning Issues: Choosing Indices for an Application.
The Design Document. 13. The Basics of Query Processing.
Design and Code for the Student Registration System.
External Sorting. 14. Overview of Query Optimization.
Computing Projection, Union, and Set Difference.
Computing Aggregate Functions.
Tuning Issues: Impact on Physical Database Design.
Overview of Query Processing. 15. An Overview of Transaction 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.
Atomicity and Durability.
Implementing Distributed Transactions.
III. ADVANCED TOPICS IN DATABASES.
16. Object Databases.
Shortcomings of the Relational Data Model. 17. XML and Web Data.
The Conceptual Object Data Model.
The ODMG Standard.
Objects in SQL:1999.
Common Object Request Broker Architecture.
Semistructured Data. 18. Distributed Databases.
Overview of XML.
XML Query Languages.
The Application Designer's View of the Database. 19. OLAP and Data Mining.
Distributing Data Among Different Databases.
Query Planning Strategies.
OLAP and Data Warehouses—Old and New.
A Multi-Dimensional Model for OLAP Applications.
ROLAP and MOLAP.
Populating a Data Warehouse.
IV. TRANSACTION PROCESSING.
20. ACID Properties of Transactions.
Consistency. 21. Models of Transactions.
The ACID Properties.
Flat Transactions. 22. Architecture of Transaction Processing Systems.
Providing Structure within a Transaction.
Structuring an Application into Multiple Transactions.
Transaction Processing in a Centralized System. 23. Implementing Isolation.
Transaction Processing in a Distributed System.
Heterogeneous Systems and the TP Monitor.
The TP Monitor: Communication and Global Atomicity.
Transaction Processing on the Internet.
Schedules and Their Equivalence. 24. Isolation in Relational Databases.
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.
Locking. 25. Atomicity and Durability.
Locking and the SQL Isolation Levels.
Granular Locking: Intention Locks and Index Locks.
Improving System Performance.
Multiversion Concurrency Controls.
Crash, Abort, and Media Failure. 26. Implementing Distributed Transactions.
Immediate-Update Systems and Write-Ahead Logs.
Recovery in Deferred-Update Systems.
Recovery from Media Failure.
Implementing the ACID Properties. 27. Security and Internet Commerce.
Transfer of Coordination.
When Global Atomicity Cannot Be Guaranteed.
Distributed Transactions in the Real World.
Authentication, Authorization, and Encryption. Appendix: System Issues.
Key Distribution and Authentication.
Authenticated Remote Procedure Call.
Basic System Issues. References. Index.
Multigprogrammed Operating Systems.