The objective of the course is two folded. First the student will acquire the concepts and tools required to :understand and use the database notions and database management systems (DBMS) ; relational systems which are the most used today will be considered. We will also examine the architectures of these systems and their evolution with regard to the web, data warehouses and data mining.
The first part of the course introduces the basic concepts and functions of a DBMS :
• Database and DBMS : introduction, history, main data models, objectives and components of a DBMS .
• The relational approach : model, algebra, calculus .
• The Structured Query Language (SQL) : query expression, integrity constraints, triggers.
• Normalization of relations : design of relation schemas and functional dependencies
• Modeling of databases and analysis of applications : design methods (entity-relationship) , translation, administration, accessing data.
The second part of the course presents the internal functionality of DBMS in order to know how to better administrate and tune databases and applications :
• Data storage and index structures.
• Query execution and optimization.
• Data consistency: concurrency control, transactions, coping with system failures (loging, protecting).
We conclude this course be presenting distributed aspects of databases, architectures of systems and new uses of database technology.
The pragmatic part of the course consists of two activities. At the end of the first part of the course, a short project will be proposed concerning a relational system and SQL aspects (10h). The second project, at the end of the course, will concern the development of an application that accesses a distributed Oracle relational databases (15h). The application will
be developed in Java using JDBC to communicate with the bases. The work will be evaluated both for this module and for the module "Algorithmique / Programmation à objets".
Give kind of exam for session 1 and session 2: written, allowed documents or not, oral, practical work, reports, plan, vivas
C.J. Date, An Introduction to Database Systems, Addison Wesley, 1990.
C. Delobel et M. Adiba, Bases de données et Systèmes Relationnels, Dunod informatique, 1984.
G.Gardarin : Les Bases de données: systèmes et langages, Eyrolles, 1985.
S. Navathe, R. Elamasri, Fundamentals of database systems, 2ème. ed., Adison-Wesley Pub, 1994.
M.Adiba, C.Collet : Objets et bases de données, le SGBD O2, Hermes, 1993.
Ullman et J. Widom, A First Course in Database Systems, Prentice-Hall, 1997
G. Gardarin, Bases de Données : Objet & Relationnel, Eyrolles, 1999
H. Garcia-Molina, J. Ullman et J. Widom, Database System Implementation, Prentice Hall, 1999.