Databases

LINGI2172  2019-2020  Louvain-la-Neuve

Databases
6.0 crédits
30.0 h + 30.0 h
2q

Enseignants
Langue
d'enseignement
Anglais
Préalables
  • LSINF1225 or LINFO1225 : connaissances de base en gestion de bases de données,
  • LSINF1121 or LINFO1121 : bonne compétences en programmation.
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

  • 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 .

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».

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

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 two-hours auditorium sessions during 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.
Modes d'évaluation
des acquis des étudiants

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


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

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] : ingénieur civil en informatique
6
-

Master [60] en sciences informatiques
6
-

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

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

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

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

Master [120] en sciences informatiques
6
-

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

Master [120] en science des données, orientation statistique
6
-