Text
Database systems: an application-oriented approach
Contents
Part One: Introduction
Chapter 1. Overview of Databases and Transactions
1.1. What are Databases and Transactions?
1.2. Features of Modern Databases and Transactions Processing Systems
1.3. Major Players in the Implementation and Support of Databases and Transactions Processing Systems
1.4. Decision Support Systems - OLAP and OLTP
Chapter 2. The Big Picture
2.1. Case Study: A Student Registration System
2.2. Introduction to Relational Databases
2.3. What Makes a Program a Transaction - The ACID Properties
Part Two: Database Management
Chapter 3. The Relational Data Model
3.1. What is Data Model?
3.2. The Relational Model
3.3. SQL - Data Definition Sublanguage
Chapter 4. Conceptual Modeling of Databases with Entity-Relationship Diagrams and the Unified Modeling Language
4.1. Conceptual Modeling with the E-R Approach
4.2. Entities and Entity Types
4.3. Relationship and Relationship Types
4.4. Advanced Features in Conceptual Data Modeling
4.5. From E-R Diagrams to Relational Database Schemas
4.6. UML: A New Kid on the Block
4.7. A Brokerage Firm Example
4.8. Case Study: A Database Design for the Student Registration System
4.9. Limitations of Data Modeling Methodologies
Chapter 5. Relational Algebra and SQL
5.1. Relational Algebra: Under the Hood of SQL
5.2. The Query Sublanguage of SQL
5.3. Modifying Relational Instance in SQL
Chapter 6. Database Design with the Relational Normalization Theory
6.1. The Problem of Redudancy
6.2. Decompositions
6.3. Functional Dependencies
6.4. Properties of Functional Dependencies
6.5. Normal Forms
6.6. Properties of Decompositions
6.7. An Algorithm for BCNF Decomposition
6.8. Synthesis of 3NF Schemas
6.9. The Fourth Normal Form
6.10. Advanced 4NF Design
6.11. Summary of Normal Form Decomposition
6.12. Case Study: Schema Refinement for The Student Registration System
6.13. Tunning Issues: To Decompose or Not to Decompose?
Chapter 7. Trigger and Active Databases
7.1. What is a Trigger?
7.2. Semantic Issues in Trigger Handling
7.3. Triggers in SQL
7.4. Avoiding a Chain Reaction
Chapter 8. Using SQL in an Application
8.1. What are the Issues Involved?
8.2. Embedded SQL
8.3. More on Integrity Constraints
8.4. Dynamic SQL
8.5. JDBC and SQLJ
8.6. ODBC
8.7. Comparison
Part Three: Optimizing DBMS Performance
Chapter 9. Physical Data Organization and Indexing
9.1. Disk Organization
9.2. Heap Files
9.3. Sorted Files
9.4. Indices
9.5. Multilevel Indexing
9.6. Hash Indexing
9.7. Special Purpose Indices
9.8. Tunning Issues: Choosing Indices for an Application
Chapter 10. The Basics of Query Processing
10.1. Overview of Query Processing
10.2. External Sorting
10.3. Computing Projection, Union, and Set Difference
10.4. Computing Selection
10.5. Computing Joins
10.6. Multirelational Joins
10.7. Computing Aggregate Joins
Chapter 11. An Overview of Query Optimalization
11.1. Query Processing Architecture
11.2. Heuristic Optimalization Based on Algebraic Equivalence
11.3. Estimating the Cost of a Query Execution Plan
11.4. Estimating the Size of the Output
11.5. Choosing a Plan
Chapter 12. Database Tuning
12.1. Disk Caches
12.2. Tuning the Schema
12.3. Tuning the Data Manipulation Language
12.4. Tools
12.5. Managing Physical Resources
12.6. Influencing the Optimizer
Part Four: Advanced Topics in Database
Chapter 13. Relational Calculus, Visual Query Language, and Deductive Databases
13.1. Tuple Relational Calculus
13.2. Understanding SQL through Tuple Relational Calculus
13.3. Domain Relational Calculus and Visual Query Language
13.4. Visual Query Languages: QBE and PC Databases
13.5. The Relationalship Between Relational Algebra and the Calculi
13.6. Deductive Databases
Chapter 14. Object Databases
14.1. Limitiations of the Relational Data Model
14.2. Object Databases vs Relational Databases
14.3. The Conceptual Object Data Model
14.4. Objects in SQL: 1999 and SQL: 2003
14.5. The ODMG Standard
14.6. Common Object Request Broker Architecture
Chapter 15. XML and Web Data
15.1. Semistructured Data
15.2. Overview of XML
15.3. XML Schema
15.4. XML Query Languages
Chapter 16. Distributed Databases
16.1. The Application Designer's View of the Database
16.2. Distributing Data among Different Databases
16.3. Query Planning Strategies
Chapter 17. OLAP and Data Mining
17.1. OLAP and Data Warehouse - Old and New
17.2. A Multidimensional Model for OLAP Applications
17.3. Aggregation
17.4. ROLAP and MOLAP
17.5. Implementation Issues
17.6. Populating a Data Warehouse
17.7. Data Mining Tasks
17.8. Mining Associations
17.9. Classification and Prediction Using Decision Trees
17.10. Classification and Prediction Using Neural Nets
17.11. Clustering
Part Five: Transaction Processing
18.1. Consistency
18.2. Atomicity
18.3. Durability
18.4. Isolation
18.5. The ACID Properties
Chapter 19. Models of Transactions
19.1. Flat Transactions
19.2. Providing Structure within a Transaction
19.3. Structuring an Application as Multiple Transactions
Chapter 20. Implementing Isolation
20.1. Schedules and Schedule Equivalence
20.2. Recoverability, Cascaded Aborts, and Strictness
20.3. Models for Concurrency Control
20.4. A Strategy for Immediate-Update Pessimistic Concurrency Controls
20.5. Design of an Immediate-Update Pessimistic Concurrency Controls
20.6. Objects and Semantic Commutativity
20.7. Atomicity, Recoverability, and Compensating Operations
20.8. Isolation in Structured Transaction Models
20.9. Other Concurrency Controls
Chapter 21. Isolation in Relational Databases
21.1. Conflicts in a Relational Database
21.2. Locking and the SQL Isolation Levels
21.3. Granular Locking: Intention Locks and Index Locks
21.4. Tuning Transactions
21.5. Multiversion Concurrency Controls
Chapter 22. Atomicity and Durability
22.1. Crash, Abort, and Media Failure
22.2. Immediate-Update Systems and Write-Ahead Logs
22.3. Recovery in Deferred-Update Systems
22.4. Recovery from Media Failure
Part Six: Distributed Applications and the Web
Chapter 23. Architecture of Transaction Processing Systems
23.1. Transaction Processing in a Centrallized System
23.2. Transaction Processing in a Distributed System
23.3. The TP Monitor: An Overview
23.4. The TP Monitor: Global Atomicity and the Transaction Manager
23.5. The TP Monitor: Remote Procedure Call
23.6. The TP Monitor: Peer-to-Peer Communication
23.7. The TP Monitor: Event Communication
23.8. Storage Architectures
23.9. Transaction Processing on the Internet
23.10. Web Application Servers-J2EE
Chapter 24. Implementing Distributed Transactions
24.1. Implementing the ACID Properties
24.2. Atomic Termination
24.3. Transfer of Coordination
24.4. Distributed Deadlock
24.5. Global Serialization
24.6. When Global Atomicity Cannot Guaranteed
24.7. Replicated Databases
24.8. Distributed Transactions in the Real World
Chapter 25. Web Services
25.1. The Basic Idea
25.2. Web Basics
25.3. HTP
25.4. SOAP: Message Passing
25.5. WSDL: Specifying Web Services
25.6. BPEL: Specifying Business Processes
25.7. UDDI: Publishing and Discovering Information about Services
25.8. WS-Coordination: Transactional Web Services
Chapter 26. Security and Electronic Commerce
26.1. Authentication, Authorization, and Encryption
26.2. Encryption
26.3. Digital Signature
26.4. Key Distribution and Authentication
26.5. Authorization
26.6. Authenticated Remote Procedure Call
26.7. Electronic Commerce
26.8. The Secure Sockets layer Protocol: Certificates
26.9. Passport: Single Sign-On
26.10. Keeping Credit Card Number Private
26.11. The Secure Electronic Transaction Protocol: Dual Signatures
26.12. Goods Atomicity, Certified Delivery, and Escrow
26.13. Electronic Cash: Blind Signatures
26.14. Security in XML-Based Web Services
No other version available