CS2102

NUS | SoC | MySoC
Home page | email
Home Page | email
Home Page | email

Introduction to Database Systems

What's in a Database Course?

To some extent it is questionable whether the study of databases should constitute an independent module or even a topic in a computer science curriculum. Indeed, the design, implementation, and maintenance of a database application involve all aspects of computer science from design and modeling, human computer interface, networking, data structures and algorithms, to even hardware. From this viewpoint a database application is just another computer application. Yet there seem to be a number of requirements that may be specific to a database application to the point that they characterize it and that they justify our study of the principles underlying the management of data and of the principles of the systems that have been designed and implemented for such a task: the database management systems.

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.

Maintained by Stéphane Bressan