Database Systems: An Application-Oriented Approach / Edition 2

Database Systems: An Application-Oriented Approach / Edition 2

by Michael Kifer, Philip M. Lewis, Arthur Bernstein

ISBN-10: 0321268458

ISBN-13: 9780321268457

Pub. Date: 03/18/2005

Publisher: Pearson

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

…  See more details below


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.

Product Details

Publication date:
Edition description:
Sales rank:
Product dimensions:
7.55(w) x 9.13(h) x 2.44(d)

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




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


Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >