Databases

lingi2172  2020-2021  Louvain-la-Neuve

Databases
En raison de la crise du COVID-19, les informations ci-dessous sont susceptibles d’être modifiées, notamment celles qui concernent le mode d’enseignement (en présentiel, en distanciel ou sous un format comodal ou hybride).
6 crédits
30.0 h + 30.0 h
Q2
Enseignants
Nijssen Siegfried;
Langue
d'enseignement
Anglais
Thèmes abordés
  • Les systèmes de gestion de bases de données (objectifs, exigences, l'architecture).
  • Le modèle de données relationnel (théorie formelle, logique du premier ordre, contraintes).
  • Les modèles conceptuels (entité-relation, modélisation rôle objet).
  • Conception de base de données logique (formes normales et normalisation, ER-relationnel)
  • Conception de bases de données physiques et stockage (tables et clés, index, structures de fichiers).
  • Interrogation de bases de données (algèbre relationnelle, calcul relationnel, structures de données optimisation de requêtes, SQL)
  • Propriétés ACID (atomicité, cohérence, isolation, durabilité), contrôle d'accès concurrentiel, techniques de récupération.
  • programmation d'applications de bases de données (JDBC, curseurs de bases de données, Object-Relational Mapping).
  • Tendances récentes ou plus avancées dans le domaine des bases de données (bases de données orientées objet, Big Data, NoSQL, NewSQL)
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1 Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • INFO1.1-3
  • INFO2.1-4
  • INFO4.1-4
  • INFO5.1-5
  • INFO6.1, INFO6.4
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • SINF1.M2
  • SINF2.1-4
  • SINF4.1-4
  • SINF5.1-5
  • SINF6.1, SINF6.4
Eu égard au référentiel AA du programme « Master [60] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • 1SINF1.M2
  • 1SINF2.1-4
  • 1SINF4.1-4
  • 1SINF5.1-5
  • 1SINF6.1, 1SINF6.4
Les étudiants qui terminent avec succès ce cours seront capables de :
  • expliquer les scénarios dans lesquels utiliser une base de données est plus pratique que la programmation avec des fichiers de données ;
  • expliquer les caractéristiques de l'approche utilisant des bases de données , d'où viennent-elles et les comparer avec les tendances actuelles dans le domaine des bases de données
  • identifier et décrire les principales fonctions d'un système de gestion de bases de données ;
  • classer les modèles de données conceptuels, logiques et physiques sur la base des concepts qu'ils fournissent pour décrire la structure de bases de données ;
  • comprendre les grands principes et la théorie mathématique de l' approche relationnelle de gestion de bases de données ;
  • concevoir des bases de données en utilisant une approche systématique , à partir d'un modèle conceptuel par un niveau logique ( c'est à dire un schéma relationnel ) jusqu'à un modèle physique ( c.-à- tables et les index ) ;
  • utiliser SQL ( DDL ) pour mettre en oeuvre un schéma des bases de données relationnelles et distinguer des installations SQL par rapport à la distinction logique vs  physique.
  •  interroger les bases de données relationnelles en utilisant SQL ( DML )  et comparer SQL avec la théorie relationnelle.
  • optimiser le fonctionnement d'une base de données.
  • comprendre les avantages et désavantages des bases de donées NoSQL.
  • utiliser des bases de données relationnelles , soit directement ou à partir d'un langage de programmation classique .
 
Contenu
  • Introduction au modèle entité-association
  • Bases du modèle relationnel: structures de données et algèbre.
  • Langages relationnels de définition et de manipulation basés sur la logique.
  • Etude critique du langage SQL.
  • Query optimization.
  • Programmation d'applications de bases de données.
  • Fonctions et architecture des logiciels de gestion de bases de données.
  • Gestion des accès simultanés aux bases de données et techniques associées de récupération en cas de panne
  • NoSQL: graph databases, key-value stores, document stores
  • Vue d'ensemble d'autres bases de données: spatio-temporal databases, data warehouses, OLAP
Méthodes d'enseignement

En raison de la crise du COVID-19, les informations de cette rubrique sont particulièrement susceptibles d’être modifiées.

The objectives are organized along three main axes:
  • Understand: both the historical context, and recent challenges and developments in the database field; relational theory, why is has been invented and how it fits in practice; implementation techniques and major algorithms for data organization, query and transaction processing.
  • Design: from conceptual modeling (e.g. Entity-Relationship, UML) down to physical database tuning (e.g. indexes, query plans), through logical database design (e.g. functional dependencies, normal forms, normalization algorithms) and reasoning (relational algebra, views and constraints).
  • Use: installing and configuring database management systems, creating and tuning databases, using query languages in practice (e.g. SQL), connecting to databases (e.g. call interfaces, ORMs), integrating database systems in software designs.
Theory and practice are acquired by students along those three axes as follows:
  • Theory is dispensed in the traditional way, through lectures in the second quarter. The theoretical course follows Elmasri & Navathe's textbook [EN10].
  • Practice is obtained by participating in 4 projects. These projects are either done individually, in groups of 2 or in larger groups.
  • Both theory and pratical missions are dispensed in English.
Even though preference will be given to face-to-face teaching sessions, depending on the health situation and the number of students enrolled, other forms of teaching (online, co-modal or hybrid) may be considered.
Modes d'évaluation
des acquis des étudiants

En raison de la crise du COVID-19, les informations de cette rubrique sont particulièrement susceptibles d’être modifiées.

An exam will be organized at the end of the semester. Depending on the health situation, this exam may be done either on campus, online, using a take-home exam, or a combination of these modalities. In case of doubt about the final grade for the exam, the teacher reserves the right to ask a student to pass a complementary oral exam.
If the grade for the exam is >=10, the grade is calculated following a 75% / 25% rule (final written exam / participation and grade obtained to practical missions during the semester). 25% from practical missions applies in september too. If the exam is <10, the grade is determined 100% by the exam. 
Autres infos
Préalables:
  • LSINF1225 or LINFO1225 : connaissances de base en gestion de bases de données,
  • LSINF1121 or LINFO1121 : bonne compétences en programmation.
Bibliographie
  • Ramez Elmasri and Shamkant Navathe Fundamentals of Database Systems. Addison-Wesley Publishing Company, USA, 7th edition, 2010.
  •  Chris J. Date. An Introduction to Database Systems. Pearson Addison-Wesley, Boston, MA, 8 edition, 2004.
  •  Hugh Darwen, An Introduction To Relational Database Theory, 3th Edition, Bookboon, 2009
  •  Jean-Luc Hainaut, Bases de Données, Concepts, Utilisation et Développement, 2e Edition, Dunod, 2012
  •  T.M. Connolly and C.E. Begg. Database Systems: A Practical Approach to Design, Implementation, and Management. Number v. 1 in International computer science series. Addison-Wesley, 2005.
Faculté ou entité
en charge
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] en science des données, orientation statistique

Master [120] : ingénieur civil en informatique

Master [120] en sciences informatiques

Master [120] : ingénieur civil en mathématiques appliquées

Master [120] : bioingénieur en sciences agronomiques

Master [120] : bioingénieur en gestion des forêts et des espaces naturels

Master [120] : bioingénieur en sciences et technologies de l'environnement

Master [120] : ingénieur civil en science des données

Master [120] en science des données, orientation technologies de l'information

Master [120] : ingénieur civil biomédical

Master [60] en sciences informatiques