Database Systems: An Application Oriented Approach, Complete Version

Michael Kifer / Arthur Bernstein / Philip M. Lewis  
Total pages
March 2005
Related Titles

Product detail

Product Price CHF Available  
Database Systems: An Application Oriented Approach, Complete Version
250.30 approx. 7-9 days


Designed for students learning databases for the first time, Database Systems: An Application Oriented Approach, Complete Version, Second Edition presents the principles underlying the design and implementation of databases and database applications. The second edition of the Complete Version is designed for use in either a one semester introductory database course, or a longer sequence covering advanced material on databases or transaction processing.   Chapters 1-12 cover the core material for an introductory course.   Chapters 13-26 cover advanced database topics such as Object Databases, Security, XML and Data Mining.   A new chapter 25 covers Web Services topics.   A practical case study is integrated throughout giving students an opportunity to work with a rich database application and implement technical concepts such as database design, query processing and, transaction processing.


The author's have also written a introductory version of this text that is shorter, less expensive and intended for a first semester database course. It contains 12 core chapters plus additional chapters on transaction processing, software engineering issues, object-oriented databases and XML and Web Data.  For more information on this title visit:



  • Added new chapter on Web Services.
  • Includes encryption, authentication, and e-commerce transaction coverage.
  • In-depth coverage of XML, object-oriented databases, and database tuning.
  • Comprehensive discussion on ODBC, JDBC, Dynamic SQL, SQLJ.
  • Complete coverage of UML with technical detail.
  • Early coverage of Schema Refinement (functional dependencies and normal forms).
  • Includes Triggers and Active Databases coverage.
  • Complete coverage on the architecture of transaction processing systems and transaction models.
  • Integrated application, “the student registration system”, illustrating topics being covered.


New to this Edition

  • A new  chapter onData Mining has been added.
  • A new chapter on Web Services that contains material on SOAP, WSDL, BPEL, UDDI, and XML-based transaction processing using  WS-Coordination and WS-Transaction has been added.
  • More sections covering Security in XML-Based Web Services.
  • Coverage of SQL updated to the latest  standard.
  • Added material on Web Application Servers and J2EE.
  • A new chapter on Database Tuning has been added.
  • More coverage on XML-based encryption, using XML-Encryption, XML-Signature, WS-Security and SAML.
  • Added material on UML.
  • Table of Contents

    PART ONE Introduction


    Chapter 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


    Chapter 2 The Big Picture

    Case Study: A Student Registration System

    Introduction to Relational Databases

    What Makes a Program a Transaction-The ACID Properties

    Bibliographic Notes



    PART TWO Database Management


    Chapter 3 The Relational Data Model

    What Is a Data Model?

    The Relational Model

    SQL-Data Definition Sublanguage

    Bibliographic Notes



    Chapter 4 Conceptual Modeling of Databases 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

    Bibliographic Notes



    Chapter 5 Relational Algebra and SQL

    Relational Algebra: Under the Hood of SQL

    The Query Sublanguage of SQL

    Modifying Relation Instances in SQL

    Bibliographic Notes



    Chapter 6 Database Design with the Relational Normalization Theory

    The Problem of Redundancy


    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?

    Bibliographic Notes



    Chapter 7 Triggers and Active Databases

    What Is a Trigger?

    Semantic Issues in Trigger Handling

    Triggers in SQL

    Avoiding a Chain Reaction

    Bibliographic Notes



    Chapter 8 Using SQL in an Application

    What Are the Issues Involved?

    Embedded SQL

    More on Integrity Constraints

    Dynamic SQL

    JDBC and SQLJ



    Bibliographic Notes



    PART THREE Optimizing DBMS Performance


    Chapter 9 Physical Data Organization and Indexing

    Disk Organization

    Heap Files

    Sorted Files


    Multilevel Indexing

    Hash Indexing

    Special-Purpose Indices

    Tuning Issues: Choosing Indices for an Application

    Bibliographic Notes



    Chapter 10 The Basics of Query Processing

    Overview of Query Processing

    External Sorting

    Computing Projection, Union, and Set Difference

    Computing Selection

    Computing Joins

    Multirelational Joins

    Computing Aggregate Functions

    Bibliographic Notes



    Chapter 11 An Overview of Query Optimization

    Query Processing Architecture

    Heuristic Optimization Based on Algebraic Equivalences

    Estimating the Cost of a Query Execution Plan

    Estimating the Size of the Output

    Choosing a Plan

    Bibliographic Notes



    Chapter 12 Database Tuning

    Disk Caches

    Tuning the Schema

    Tuning the Data Manipulation Language


    Managing Physical Resources

    Influencing the Optimizer

    Bibliographic Notes



    PART FOUR Advanced Topics in Databases


    Chapter 13 Relational Calculus, Visual Query Languages, and Deductive Databases

    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

    Deductive Databases

    Bibliographic Notes



    Chapter 14 Object Databases

    Limitations of the Relational Data Model

    Object Databases versus Relational Databases

    The Conceptual Object Data Model

    Objects in SQL:1999 and SQL:2003

    The ODMG Standard

    Common Object Request Broker Architecture

    Bibliographic Notes



    Chapter 15 XML and Web Data

    Semistructured Data

    Overview of XML

    XML Schema

    XML Query Languages

    Bibliographic Notes



    Chapter 16 Distributed Databases

    The Application Designer's View of the Database

    Distributing Data among Different Databases

    Query Planning Strategies

    Bibliographic Notes



    Chapter 17 OLAP and Data Mining

    OLAP and Data Warehouses-Old and New

    A Multidimensional Model for OLAP Applications



    Implementation Issues

    Populating a Data Warehouse

    Data Mining Tasks

    Mining Associations

    Classification and Prediction Using Decision Trees

    Classification and Prediction Using Neural Nets


    Bibliographic Notes



    PART FIVE Transaction Processing


    Chapter 18 ACID Properties of Transactions





    The ACID Properties

    Bibliographic Notes



    Chapter 19 Models of Transactions

    Flat Transactions

    Providing Structure within a Transaction

    Structuring an Application as Multiple Transactions

    Bibliographic Notes



    Chapter 20 Implementing Isolation

    Schedules and Schedule Equivalence

    Recoverability, Cascaded Aborts, and Strictness

    Models for Concurrency Control

    A Strategy for Immediate-Update Pessimistic Concurrency Controls

    Design of an Immediate-Update Pessimistic Concurrency Control

    Objects and Semantic Commutativity

    Atomicity, Recoverability, and Compensating Operations

    Isolation in Structured Transaction Models

    Other Concurrency Controls

    Bibliographic Notes



    Chapter 21 Isolation in Relational Databases

    Conflicts in a Relational Database

    Locking and the SQL Isolation Levels

    Granular Locking: Intention Locks and Index Locks

    Tuning Transactions

    Multiversion Concurrency Controls

    Bibliographic Notes



    Chapter 22 Atomicity and Durability

    Crash, Abort, and Media Failure

    Immediate-Update Systems and Write-Ahead Logs

    Recovery in Deferred-Update Systems

    Recovery from Media Failure

    Bibliographic Notes



    PART SIX Distributed Applications and the Web


    Chapter 23 Architecture of Transaction Processing Systems

    Transaction Processing in a Centralized System

    Transaction Processing in a Distributed System

    The TP Monitor: An Overview

    The TP Monitor: Global Atomicity and the Transaction Manager

    The TP Monitor: Remote Procedure Call

    The TP Monitor: Peer-to-Peer Communication

    The TP Monitor: Event Communication

    Storage Architectures

    Transaction Processing on the Internet

    Web Application Servers-J2EE

    Bibliographic Notes



    Chapter 24 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

    Bibliographic Notes



    Chapter 25 Web Services

    The Basic Idea

    Web Basics

    Hypertext Transfer Protocol

    SOAP: Message Passing

    WSDL: Specifying Web Services

    BPEL: Specifying Business Processes

    UDDI: Publishing and Discovering Information about Services

    WS-Coordination: Transactional Web Services

    Bibliographic Notes



    Chapter 26 Security and Electronic Commerce

    Authentication, Authorization, and Encryption


    Digital Signatures

    Key Distribution and Authentication


    Authenticated Remote Procedure Call

    Electronic Commerce

    The Secure Sockets Layer Protocol: Certificates

    Passport: Single Sign-On

    Keeping Credit Card Numbers Private

    The Secure Electronic Transaction Protocol: Dual Signatures

    Goods Atomicity, Certified Delivery, and Escrow

    Electronic Cash: Blind Signatures

    Security in XML-Based Web Services

    Bibliographic Notes





    Appendices, available on the Web


    A An Overview of Transaction Processing


    Atomicity and Durability

    Implementing Distributed Transactions

    Bibliographic Notes



    B Requirements and Specifications

    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

    Bibliographic Notes



    C Design, Coding, and Testing

    The Design Process

    Test Plan

    Project Planning


    Incremental Development

    The Project Management Plan

    Design and Code for the Student Registration System

    Bibliographic Notes



    Instructor Resources