Curriculum
In this course we are concerned with the basic concepts and with the standard tools for the design and the implementation, in particular querying, of a database application using a database management system. We focus on relational technology for it is today's most established database technology. We ignore the issues related to the tuning of the application, which require a deeper understanding of the architecture, the algorithms, and the data structures at the core of the database management system.
Introduction
We first try and identify the specific requirements of a database application. We also show how these requirements are met by the database management systems used to implement and manage a database application.
Design
We introduce conceptual design using the Entity-Relationship model. Logical design is done by the consideringthe Relational Model. We also study and discuss the techniques used to transform relational schemas in order to prevent design anomalies.
Programming and Querying
We then present the relational model and relational calcuus (both domain and t-uple) and algebra. In parallel we study the concrete query language used by most database management systems: SQL and how it can be used from generic programming environment.
The recommended textbooks are: