Database Systems - Concepts, Languages and Architectures
Paolo Atzeni, Stefano Ceri, Stefano Paraboschi and Riccardo Torlone


Book jacket


This book, published by McGraw Hill, is out of print; authors decided to make it available in PDF format at no cost. You can copy it for personal use but not for further distribution. Also, please do not post it to other sites; instead, put a link to this site.


Resources

Table of Contents (also available in PDF)

Preface (also available in PDF)

The complete book

Artwork of the book

Slides (available for Chapters 1-12)

Solutions to book exercises



Book Description

Database Systems: Concepts, Languages and Architectures focuses on database management systems - complex software systems that are at the core of current computer-based information systems. The book approaches the teaching of databases in a modular and progressive fashion. The whole book can be used for a full course (or pair of courses), but its first half can be profitably used for a shorter course.

Parts I and II are designed to expose students to the principles of data management and for teaching them how to master two main skills: how to query a database (and write software that involves database access) and how to design its schema structure. These are fundamental aspects of designing and manipulating a database that are required in order to make effective use of database technology.

Parts III and IV are dedicated to advanced concepts, required for mastering database technology. Part III describes database management system architectures, using a modern approach based upon the identification of the important concepts, algorithms, components and standards. Part IV is devoted to the current trends, focusing on object-oriented databases, active databases, data warehouses and web-database interaction.

Appendices present three popular database systems: Microsoft Access, IBM DB2, and Oracle.

The book contains extensive examples and exercises.

Who should read this text?

Courses on databases are an integral part of all computer science curricula as well as an important part of many other business, scientific and technical courses. This book serves as both an introductory and a specialized course text on databases.

This remains a rapidly-expanding area and Database Systems: Concepts, Languages and Architectures will also be of interest to software engineers, programmers and users of information systems.

Key features

  • The first half of the book contains the material covering an introductory course and the second half provides the material needed for a complete course on databases
  • The text covers object-oriented databases, active databases, data warehouses, web interfaces and other extensions to traditional databases
  • Emphasis is given to database design and to SQL
  • The book focuses on the technological aspects of a database management system
  • Many examples and exercises
  • Support material on the web (to be progressively added in the next weeks)

About the authors

Paolo Atzeni and Riccardo Torlone are professors at Universita` Roma Tre. Stefano Ceri is a professor at Politecnico di Milano and Stefano Paraboschi is a professor at Universita' di Bergamo. They all teach courses on information systems and database technology and are active members of the database research community.

Contents

Introduction
Information systems, information and data; databases and database management systems; data models; database languages and users; database systems: advantages and drawbacks
Part I: Relational databases
The model and its languages; the relational model; the structure of the relational model; integrity constraints; relational algebra; relational calculus; datalog; SQL; data definition in SQL; queries in SQL; data manipulation in SQL; additional data definition features; access privileges; SQL and programming languages
Part II: Database design
Design methodologies and models; the database design process; the Entity-Relationship model; documentation of E-R schemas; conceptual design; requirement collection and analysis; general data modelling criteria; design strategies; qualities of a conceptual schema; a general methodology for database design; CASE tools for database design; logical design; performance analysis on conceptual schemas; restructuring E-R schemas; translation towards the relational model; logical design with database design tools; normalization; redundancies and anomalies; functional dependencies; Boyce- Codd normal form; qualities of decompositions; third normal form; normalization and the design process
Part III: Database technology
Technology of a database server; transactions; concurrency control; buffer management; reliability control; data physical structures; query processing and optimization; physical design; distributed architectures; client-server architectures; distributed databases; distributed database technology; two- phase commit protocol; interoperability; parallelism; replication management
Part IV: Database evolution
Object databases; object-oriented database systems (OODBMS); OMG standard languages: ODL and OQL; object-relational database systems (ORDBMS); multimedia database systems; technology extensions for object databases; active databases; triggers in relational systems; definitions and use of triggers in Oracle; definitions and use of triggers in DB2; advanced features of active rules; properties of active rules; active database applications; architecture and paradigms for data analysis; data warehouses; multi-dimensional model and languages; data mining; databases and the worldwide web; CGI and gateways; advanced technology for web applications; design of web sites.
Appendices
Microsoft Access; IBM DB2; Oracle PL/SQL