Ecole
Polytechnique Universitaire de Marseille(Polytech-Marseille)
Département
Génie Industriel
5 ième année –
Option Systèmes d'Information de Production
2021-2022
TITRE
DU COURS : BASES DE
DONNEES APPROFONDIES
NOM DE L'INTERVENANT :
Bernard ESPINASSE
OBJECTIFS VISES PAR LE
COURS :
Ce cours est complémentaire au cours «
Systèmes de Gestion de bases de données » de 1° année. Il est
principalement centré sur le développement d'applications autour d'une
base
de données relationnelle. Dans la première partie, après un bref rappel
sur
les bases de données relationnelles, on s'intéresse à la spécification et
au traitement de l'intégrité sémantique et à la gestion des transactions,
notamment les mises à jour, le contrôle des accès concurrents et la
résistance aux pannes. Dans la deuxième partie on s'intéresse au
développement d'applications autour d'une base de données avec le langage
PL/SQL et le langage Java avec JDBC. Enfin, dans la troisième partie,
après
avoir introduit l'informatique décisionnelle et les entrepôts de données,
sont introduits le Big Data (Big Data Engineering et Big Data Analytic),
puis
les bases de données NoSQL.
Un enseignement pratique associé à ce cours permet l'assimilation des
parties
1 et 2, en mettant l’accent sur le développement d'applications autour
d'une
base de données relationnelle gérée par la SGBD PostgreSQL, en utilisant
le
langage PL/pgSQL et le langage Java avec JDBC.
PREREQUIS:
Cours de base en base de données (modèle
relationnel, langage SQL, …)
OUVRAGES DE
REFERENCE
- Gardarin G., « Bases
de données
objet et relationnel », Edition Eyrolles, 1999 (ISBN :
2-212-09060-9).
*
Téléchargement livre Gardarin
: Livre
Gardarin
- Gardarin G., « Bases
de données »,
téléchargeable à :
http://georges.gardarin.free.fr/Livre_BD_Contenu/XX-TotalBD.pdf
- 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
- Bizoï R., « PL/SQL
pour Oracle 12c
», Eyrolles, 2014.
- ...
PROGRAMME
(Séances de 2 heures)
1- RAPPELS ET INTEGRITE
DANS LE RELATIONNEL
Séance 1: Rappels sur
les
bases de données relationnelles
- Rappel sur le
modèle
Entité-Relation (E-R)
- Dérivation d’un MLD-R à partir d’un MCD en
Entité-Relation
- Dimensionnement d’une BD Relationnelle
- Sous schéma de données et valorisation de l'activité
des traitements
autour de la BD
Supports :
Rappel
Relationnel
Séance 2: Intégrité
dans les 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
relationnels
et SQL.
- La spécification de contraintes d’intégrité dans le
modèle
Entité-Relation étendu.
Supports :
Intégrité
Séance 3:
Gestion des transactions dans les bases de données relationnelles
- Transaction et primitives, propriétés ACID,
terminaison
- Problèmes liés à la concurrence
- Nature et largeur de verrous, deadlock (verrou
mortel), protocoles de
validation à 2 et 3 phases
- Transactions et résistance pannes et sécurité
- Journaux et gestion des transactions, mécanismes de
reprise après
pannes
- Modèles de gestion des transactions
- Gestion des transactions et systèmes répartis
Supports :
Transaction
2- DEVELOPPEMENT
D'APPLICATION AUTOUR D'UNE BD RELATIONNELLE
Séance 4: Introduction
à
PL/SQL
- Introduction à PL/SQL
- Eléments de
programmation,
variables, types dans PL/SQL
- Structures de
contrôles dans
PL/SQL
- Curseurs
Supports :
PL/QSL-Base
Séance 5: Notions
avancées de PL/SQL
- Exceptions
- Procédures
- Fonctions
- Triggers
- Différences PL/SQL et
PL/pgSQL
Supports :
PL/SQL-Compléments
Séance 6: Développement
d'application en Java - JDBC
- Introduction à JDBC
- Envoyer une requête
- Commandes préparées
- Echappements SQL
- Gestion des
transactions
Supports :
JDBC
3- INTRODUCTION AUX
ENTREPOTS DE DONNEES, BIG DATA ET NOSQL
Séance 7: Introduction à l’informatique
décisionnelle et aux entrepôts de données
- Émergence de
l’Informatique
Décisionnelle
- Les entrepôts de
données
- Modélisation et
implantation d’un
entrepôt de données
- Exploitation d’un
entrepôt de
données (OLAP)
- Domaines d’application
des
entrepôts de données
Supports :
Intro
BI
Séance 8: Introduction au BIG DATA
- Caractérisation du Big
Data :
modèle des 3V étendu au 5V ; mégadonnées et informatique décisionnelle ;
usage des mégadonnées …
- Exploitation des Data
Centers :
organisation, sharding & consistent hashing, Map-Reduce, MVCC &
vector-clock, HADOOP …
- Stockage & gestion
des
mégadonnées (Big Data Engineering) : limites des bases de données
relationnelles et cloud computing ; Nouvelles solutions : BD NoSQL
- Analyse des
mégadonnées (Big Data
Analytics) : tâches et techniques principales, différents types
d’analytiques (données, flots, textes, Web, …)
Supports :
Intro
Big
Data
Séance 9 : Introduction aux systèmes
NoSQL
- De nouveaux besoins en
gestion de
données
- Limites des SGBD
Relationnels-transactionnels
- Le théorème de Brewer
ou de
CAP
- Les grands modèles de
systèmes
NoSQL : « Clé-Valeur », « Colonne », « Document » et « Graphe
».
Supports :
BD
NoSQL
AUTRES ASPECTS LIES AUX
BASES DE DONNEES NON TRAITES CETTE ANNEE
Evaluations des requêtes et optimisation
- Analyse syntaxique/sémantique des requêtes, requêtes
équivalentes
par transitivité
- Ordonnancement des requêtes par restructuration,
restructuration
d'arbres algébriques
- Estimation des volumes d'information manipulés
- Evaluation de l'activité sur la base de données
- Optimisation physique : choix des structures de
données, index
secondaires, partitionnement, clustérisation, …
- Optimisation logique : Dénormalisation
Support:
Eval-requetes
Optimisation-relationnel
Architectures Client-Serveur et Middleware
- Découpage d'une
application
- Dialogue entre client et
serveur : le
middleware (IPC = API+FAP)
- Principales
architectures et
mécanismes de base du Client-Serveur (Sockets, RPC/XDR, …)
- Middleware orienté
objet (Java RMI,
CORBA) et orienté messages (MOM), Message Queuing, …
Support:
Le
Client-Serveur
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
RESSOURCES POUR
L'ENSEIGNEMENT PRATIQUE (EP) ASSOCIE A CE COURS
Sujet
de l'EP
Document
de rendu
VIDE
Script
basique de création
de la BD CycloProvence
Premiers
pas avec
Posgresql 9.0
Poly
PLpgSQL-Gonzales
Poly
PLpgSQL-Anomyme
Poly
JDBC-Farinone