2019-2020
TITRE
DU COURS : BASES DE
DONNEES AVANCEES
NOM DE L'INTERVENANT : Bernard
ESPINASSE
OBJECTIFS VISES PAR LE COURS :
Ce cours est complémentaire au cours de bases de données du 1er semestre.
Après un rappel sur la modélisation conceptuelle Entité-Relation avec ses
extensions, on s’intéressera tout d’abord à la spécification et au
traitement de l’intégrité sémantique dans les bases de données
relationnelles. Différents aspects liés à l'exploitation de bases de
données relationnelles seront abordés comme les mises à jour, le contrôle
des accès concurrents et la résistance aux pannes dans la gestion des
transactions. Après un retour sur les structures de stockage physiques, on
traitera l’évaluation des requêtes, l’optimisation physique (structures
de stockage) et la logique (dé-normalisation) des bases de données
relationnelles, ainsi que les serveurs à architecture parallèle. Les
architectures distribuées et les problèmes de répartition et de fédération
qu’elles posent seront ensuite abordés. Enfin le cours se terminera sur
une
introduction aux systèmes NoSQL.
PREREQUIS : Cours de base en base
de
données (modèle relationnel, langage SQL, …)
OUVRAGES DE REFERENCE
- 1 - Gardarin G., "Bases de données objet et
relationnel", Edition
Eyrolles, 1999 (ISBN : 2-212-09060-9).
* Téléchargement livre Gardarin : Livre
Gardarin
- 2 - Nanci D., Espinasse B, "Ingénierie des systèmes
d'information :
MERISE 2°génération", Vuibert Informatique, 4°édition, 2001 ( ISBN :
2-7117-8674-9).
* Téléchargement livre Nanci-Espinasse
: Livre
Merise
- 3 - Geib J.M., Gransart C., Merle P. "Corba, des
concepts à la
pratique", InterEditions, 2-ème édition, 1999
- 4 - Miranda S., Ruols A., "Client-serveur: concepts,
moteur SQL et
architecture parallèles", Eyrolles, 1994.
- 5 - Marcenac P., "SGBD relationnels : optimisation des
performances",
Editions Eyrolles, 1993.
- 6 - Strauch C., Nosql databases, Lecture Notes, Stuttgart
Media
University, 2011. http://www.christof-strauch.de/nosqldbs.pdf
- 7 – Espinasse B., Bellot P., "Introduction au Big Data
:
Opportunités, stockage et analyse des mégadonnées ", Techniques de
l’ingénieur, 2017.
Les TP
seront assurés par Nicolas DURAND
PROGRAMME
(Séances de 2 heures)
1- INTEGRITE ET GESTION DES TRANSACTIONS DANS LE RELATIONNEL
Séance 1:
Présentation du cours
Rappel sur les bases de données relationnelles (BE)
- Modèle Entité-Relation de base
- Modèle relationnel
- Modèle Entité-Relation étendu (héritage, contrainte
d'intégrité,
…)
Supports :
Rappel
sur les bases
de données relationnelles
Lecture recommandée : Livre 2, chapitre 7
* Editeur de Modèle Conceptuel de Données - Entité-Relation (Mac et PC)
: Looping (gratuit)
JMerise
Séance 2: Modélisation conceptuelle
avancée
- Types et sous-types
- Contraintes intra-relation,
- Contraintes inter-relation,
- Contraintes de stabilité et transition
- Identifiant relatif
Supports :
Modèle
Entité-Relation
étendu
Séance 3: Intégrité dans le bases de
données relationnelles
- Intégrité sémantique, typologie des contraintes d'intégrités
- Traitement des contraintes d'intégrité dans les SGBD et SQL
- La spécification de contraintes d'intégrité dans le modèle
Entité-Relation étendu.
Supports :
Integrite
sémantique
Exemple
d'intégrite
Integrité
sémantique
avancée: de la spécification en ER à l'implémentation
Séance 4: Gestion des transactions
- Notion de transaction
- Gestion des transactions et concurrence
- Gestion des transactions, mécanismes de reprise après
pannes
- Modèles avancés de gestion des transactions
- Gestion des transactions et systèmes répartis
Supports:
Gestion
des
transactions
Concurrence
dans
Oracle
Concurrence
dans
SQL-DS et DB2
Lecture recommandée : Livre 1, chapitre x
Séance 5: TP1 - Sur la gestion des
transactions (ND)
- PL-SQL et Triggers sous Oracle
Séance 6: TP1 - Sur la gestion des
transactions (ND)
- Gestion de transactions sous Oracle
2- OPTIMISATION, PERFORMANCE ET DISTRIBUTION DANS LE RELATIONNEL
Séance 7: Evaluations des requêtes
- Analyse syntaxique/sémantique des requêtes, usage des
multi-graphes
de connexion
- Requêtes équivalentes par transitivité
- Ordonnancement des requêtes par restructuration,
restructuration
d'arbres algébriques
- Estimation des volumes d'information manipulées
Supports:
Evaluation
des
requetes
Lecture recommandée : Livre 1, chapitre x
Séance 8: Optimisation dans le
relationnel
Rappels sur la gestion de fichiers et les structures de stockage
- La gestion et l'exploitation des fichiers :
organisations et méthodes
d'accès sélectives
- Exemples d'organisations indexées : IS3, ISAM, VSAM.
Optimisation dans le relationnel
- Evaluation de l'activité sur la base de données
- Optimisation physique : performance et structures de
données :
compression des données, index secondaires, partitionnement,
clustérisation,
optimiseurs de requêtes, statistiques sur les données, fonction et usage,
...
- Optimisation logique : dénormalisation
Supports:
Rappels
sur les
fichiers
Optimisation
dans le
relationnel
Lecture recommandée : Livre 2, chapitre x
Séance 9: TP3 - JDBC (ND)
- Rappels sur JDBC
- Développement d'applications avec JDBC (appel
procédures stockées,
transactions, ...)
Séance 10: Serveurs à architecture
parallèle : Machines Bases de Données (MBdD)
- Des SGBDR aux machines bases de données (MBdD) :
typologie des
architectures parallèles, architecture type des MBdD, avantages attendus
des
MBdD
- La Teradata: architecture, composants de la Teradata
DBC/1012:
Processeur d'Interface (PI), accès aux données, protection, chemins
d'accès,
évaluation et traitement des requêtes.
Supports:
La
machine base de
données Teradata
Lecture recommandée : Livre 4, chapitre 9.
Séance 11: Bases de données Réparties et
Fédérées - Réplication
- Bases de données Réparties et Fédérées
- Accés aux données réparties : RDA, DRDA, SQL-CLI,
ODBC, JDBC, et
Vues réparties sur BD fédérées et SGBD répartis
- Réplication
Supports:
Bases
de
données distribuées et réparties
Séance 12: Introduction aux bases de
données
NOSQL
- De nouveaux besoin en gestion de données
- Nouveaux besoins en gestion de données
- Limites des SGBD Relationnels-transactionnels
- Introduction aux systèmes NoSQL
- Fondements des systèmes NoSQL : Sharding, Consistent
hashing,
MapReduce, MVCC, Vector-clock »
- Introduction à HADOOP
- Typologie des BD NoSQL: Modèle NoSQL « Clé-Valeur », «
Colonne »,
« Document » et « Graphe ».
Supports:
NoSQL
Introduction
au Big
Data
Séances 13 : TP4 - NoSQL (ND)
MongoDB
- MongoDB : introduction, installation
- MongoDB : Requêtes simples
Séances 14 : TP5 - NoSQL (ND) MongoDB
- MongoDB : Map/Reduce
- Réplication.
RESSOURCES LIEES AU COURS:
- Tutorial SQL en ligne de Jérôme DARMON: http://eric.univ-lyon2.fr/~jdarmont/tutoriel-sql/
- Editeur de Modèle Conceptuel de Données - Entité-Relation (Mac et PC) :
Looping (gratuit) JMerise
Examen le ...