logo_epum.jpg
Ecole Polytechnique Universitaire de Marseille
Département Informatique Réseau et Multimédia
4 ième année – Option SISE


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 « Systèmes de Gestion de bases de données » de 1° année. 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. Ensuite l’évaluation des requêtes, l’optimisation physique (structures de stockage) et logique (dénormalisation) des bases de données relationnelles sont traitées et introduits les serveurs à architecture parallèle. Les architectures client-serveur et les bases de données distribuées et réparties sont ensuite étudiées. Enfin est abordée une extension du modèle relationnel vers l’objet avec une introduction aux SGBD objet et au langage SQL3.  Un EP (Enseignement Pratique) associé à ce cours permettra son assimilation.

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.

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: Modélisation conceptuelle d'une bases de données en Entité-Relation (BE)
-    Modèle Entité-Relation de base
-    Modèle Entité-Relation étendu (héritage, contrainte d’intégrité, …)
Supports :
    Modèle Entité-Relation de base
    Modèle Entité-Relation étendu
Lecture recommandée : Livre 2, chapitre 7
* Editeur de Modèle Conceptuel de Données - Entité-Relation (Mac et PC) : JMerise


Séance 2: 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 3: Gestion des transactions et contrôle des accés concurrents
-    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
Supports:
       Gestion de la concurrence dans le relationnel
       Concurrence dans Oracle
       Concurrence dans SQL-DS et DB2
 Lecture recommandée : Livre 1, chapitre x

Séance 4:  Gestion des 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
-    sécurité des données
        Gestion des transactions, pannes et sécurite
Lecture recommandée : Livre 1, chapitre x

Séance 5: TP1 - sur la gestion des transactions (ND)
-    Usage des Triggers sous Oracle
-    Intégration des Triggers en PL-SQL sous Oracle


2- OPTIMISATION, PERFORMANCE ET DISTRIBUTION DANS LE RELATIONNEL

Séance 6: 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 7: Optimisation dans le relationnel
Rappels sur la gestion de fichier 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.
Supports:
        RappelsFichiers
-    évaluation 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 des ordres SQL
-    optimisation logique : dénormalisation
Supports:
       Optimisation dans le relationnel
Lecture recommandée : Livre 2, chapitre x

Séance 8: 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 DBC/1012 : 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 9: 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 10:  TP2 - sur JDBC (ND)
-    Présentation de JDBC sous Oracle
-    Usage de JDBC sous Oracle


3 - EXTENSION DU MODELE RELATIONNEL

Séance 11: Des relations aux objets
-    Forces et faiblesses du modèle Relationnel
-    L’approche orientée objet et son intérêt pour les bases de données
-    Les différentes approches d’évolution des BDR vers l’objet : approche Wrapping Objet, Approche Révolutionnaire (SGBD Orientés Objets) : l’exemple de O2 et Approche Evolutionnaire (SGBD Objet-Relational) : l’exemple de Postgres
        Bases de données orientées objets
Introduction au langage SQL3 (SQL 99)
-    SQL3 : le modèle objet
-    Les triggers : normalisation
-    Procédures stockées (PSM)
-    Les types abstraits (ADTs), les constructeurs de types et les fonctions de SQL3
        SQL3

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
-    Les grands principes des systèmes NoSQL
-    Fondements des systèmes NoSQL : Sharding, Consistent hashing, MapReduce, MVCC, Vector-clock »
-    Typologie des BD NoSQL
-    Modèle NoSQL « Clé-Valeur »; « Colonne »; « Document »; « Graphe ».
        NoSQL

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) : JMerise

Examen le ...