目錄:Preface
PART ONE Introduction
1 Overview of Databases and Transactions
1.1 What Are Databases and Transactions?
1.2 Features of Modern Database and Transaction Processing Systems
1.3 Major Players in the Implementation and Support of Database
and Transaction Processing Systems
1.4 Decision Support Systems——-OLAP and OLTP
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
Bibliographic Notes
Exercises
PART Two Database Management
3 The RelationaI Data ModeI
3.1 What Is a Data Model?
3.2 The Relational Model
3.2.1 Basic Concepts
3.2.2 Integrity Constraints
3.3 SQData Definition Sublanguage
3.3.1 Specifying the Relation Type
3.3.2 The System Catalog
3.3.3 Key Constraints
3.3.4 Dealing with Missing Information
3.3.5 Semantic Constraints
3.3.6 User.Defined Domains
3.3.7 Foreign.Key Constraints
3.3.8 Reactive Constraints
3.3.9 Database Views
3.3.10 Modifying Existing Definitions
3.3.11 SOL.Schemas
3.3.12 Access Control
Bibliographic Notes
Exercises
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 Relationships and Relationship Types
4.4 Advanced Features in Conceptual Data Modeling
4.4.1 Entity Type Hierarchies
4.4.2 Participation Constraints
4.4.3 The Part.of Relationship
4.5 From E.R Diagrams to Relational Database Schemas
4.5.1 Representation of Entities
4.5.2 Representation of Relationships
4.5.3 Representing IsA Hierarchies in the Relational Model
4.5.4 Representation of Participation Constraints
4.5.5 Representation of the Part—of Relationship
4.6 UML:A New Kid on the Block
4.6.1 Representing Entities in UML
4.6.2 Representing Relationships in UML
4.6.3 Advanced Modeling Concepts in UML
4.6.4 Translation to SQL
4.7 A Brokerage Firm Example
4.7.1 An Entity-Relationship Design
4.7.2 A UML Design
4.8 Case Study:A Database Design for the Student Registration System
4.8.1 The Database Part of the Requirements Document
4.8.2 The Database Design
4.9 Limitations of Data Modeling Methodologies
Bibliographic Notes
Exercises
5 Relational Algebra and SQL
5.1 Relational Algebra: Under the Hood of SQL
5.1.1 Basic Operators
5.1.2 Derived Operators
5.2 The Query Sub]ansuage of SQL
5.2.1 Simple SQL Queries
5.2.2 Set Operations
5.2.3 Nested Queries
5.2.4 Quantified Predicates
5.2.5 Aggregation over Data
5.2.6 Join Expressions in the FROM Clause
5.2.7 A Simple Query Evaluation Algorithm
5.2.8 More on Views in SQL
5.2.9 Materialized Views
5.2.10 The Null Value Quandary
5.3 Modifying Relation Instances in SQL
5.3.1 Inserting Data
5.3.2 Deleting Data
5.3.3 Updating Existing Data
5.3.4 Updates on Views
Bibliographic Notes
Exercises
6 Database Design with the Relational Normalization Theory
6.1 The Problem of Redundancy
6.2 Decompositions
6.3 Functional Dependencies
6.4 Properties of Functional Dependencies
6.5 Normal Forms
6.5.1 The Boyce-Codd Normal Form
6.5.2 The Third Normal Form
6.6 Properties of Decompositions
6.6.1 Lossless and Lossy Decompositions
6.6.2 Dependency-Preserving Decompositions
6.7 An Algorithm for BCNF Decomposition
6.8 Synthesis of 3NF Schemas
6.8.1 Minimal Cover
6.8.2 3NF Decomposition through Schema Synthesis
6.8.3 BCNF Decomposition through 3NF Synthesis
6.9 The Fourth Normal Form
6.10 Advanced 4NF Design
6.10.1 MVDs and Their Properties
6.10.2 The Difficulty of Designing for 4NF
6.10.3 A 4NF Decomposition How-To
6.11 Summary of Normal Form Decomposition
6.12 Case Study: Schema Refinement for the Student Registration System
6.13 Tuning Issues: To Decompose or Not to Decompose?
Bibliographic Notes
Exercises
7 Triggers and Active Databases
7.1 What Is a Trigger?
7.2 Semantic Issues in Trigger Handling
7.3 Triggers in SQL:1999
7.4 Avoiding a Chain Reaction
Bibliographic Notes
Exercises
8 Using SQL in an Application
8.1 What Are the Issues Involved?
8.2 Embedded SQL
8.2.1 Status Processing
8.2.2 Sessions, Connections, and Transactions
8.2.3 Executing Transactions
8.2.4 Cursors
8.2.5 Stored Procedures on the Server
8.3 More on Integrity Constraints
8.4 Dynamic SQL
8.4.1 Statement Preparation in Dynamic SQL
8.4.2 Prepared Statements and the Descriptor Area
8.4.3 Cursors
8.4.4 Stored Procedures on the Server
8.5 JDBC and SQLJ
8.5.1 JDBC Basics
8.5.2 Prepared Statements
8.5.3 Result Sets and Cursors
8.5.4 Obtaining Information about a Result Set
8.5.5 Status Processing
processing
PART THREE Optimizing DBMS Performance and Traansaction Processing
PART FOUR Software Engineering lssues and documentation
PART FIVE Advanced topics in databases
Bibliography
Index