Database Systems : An Application-Oriented Approach

(Each Chapter, excluding chaper 1, concludes with "Bibliographic Notes" and "Exercises.") Preface. I. INTRODUCTION. 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. The Big Picture. Case Study: A Student Registration System. Introduction to Relational Databases. What Makes a Program a Transaction-The Acid Properties. II. DATABASE MANAGEMENT. 3. The Relational Data Model. What is a Data Model? The Relational Model. SQL- Data Definition Sublanguage. 4. Conceptual Modeling of Databses with Entity-Relationship Diagrams and the Unified Modeling Language. Conceptual Modeling with the E-R Approach. Entities and Entity Types. Relationships and Relationship Types. Advanced Features in Conceptual Data Modeling. From E-R Diagrams to Relational Database Schemas. UML: A New Kid on the Block. A Brokerage Firm Example. Case Study: A Database Design for the Student Registration System. Limitations of Data Modeling Methodologies. 5. Relational Algebra and SQL. Relational Algebra: Under the Hood of SQL. The Query Sublanguage of SQL. Modifying Relation Instances in SQL. 6. Database Design with The Relational Normalization Theory. 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. Tuning Issues: To Decompose or Not to Decompose? 7. Triggers and Active Databases. What Is a Trigger? Semantic Issues in Trigger Handling. Triggers in SQL:1999. Avoiding a Chain Reaction. 8. Using SQL in an Application. What are the Issues Involved? Embedded SQL. More on Integrity Constraints. Dynamic SQL. JDBC and SQLJ. ODBC. Comparison. III. OPTIMIZING DBMS PERFORMANCE AND TRANSACTION PROCESSING. 9. 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. 10. The Basics of Query Processing. External Sorting. Computing Projection, Union, and Set Difference. Computing Selection. Computing Joins. Multi-Relational Joins. Computing Aggregate Functions. 11. An 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. 12. Database Tuning. Disk Caches. Tuning the Schema. Tuning the Data Manipulation Language. Tools. Managing Physical Resources. Influencing the Optimizer. 13. An Overview of Transaction Processing. Isolation. Atomicity and Durability. Implementing Distributed Transactions. IV. SOFTWARE ENGINEERING ISSUES AND DOCUMENTATION. 14. Case Study: Starting the Student Registration System. Software Engineering Methodology. The Requirements Document for the Student Registration System. Requirements Analysis-New Issues. Specifying the Student Registration System. The Specification Document for the Student Registration System: Section III. The Next Step in the Software Engineering Process. 15. Case Study: Completing the Student Registration System. The Design Process. Test Plan. Project Planning. Coding. Incremental Development. The Project Management Plan. Design and Code for the Student Registration System. V. ADVANCED TOPICS IN DATABASES. 16. Introduction to Object Databases. Shortcomings of the Relational Data Model. The Conceptual Object Data Model. Objects in SQL:1999 and SQL:2003. 17. Introduction to XML and Web Data. Semistructured Data. Overview of XML. XML Schema. XML Query Languages. References. Index.