Cours en Bases de Données
Page en cours de modifications : Images et décor peuvent ne plus apparaitre. Si
c’est le cas, on peut essayer ce lien
Introduction
Cette page présente les cours en Bases de Données que j'enseigne dans différentes formations, principalement à l'Université Paris Dauphine. Certain cours sont en anglais. Il s'agit de cours que j'a dispensé dans d'autres Universités ou aux séminaires.
Tous les cours sont sous MsPowerpoint. La visionneuse de MsPowerpoint est disponible sans frais sur le site de Microsoft. La visionneuse permet aussi d'imprimer les cours. On peut choisir différents formats, plus ou moins économiques en papier. Par exemple de 3 écrans par page, avec l’espace pour les notes à coté de chaque diapo.
Chaque cours est présenté par une icône qui
contient le lien vers les diapos du cours. Un cours enseigné dans des
formations de différents niveaux, par exemple un DESS et une maîtrise, est dans
sa version "maximaliste". Il n'y a peut-être donc qu'une partie d'un
tel cours qui est effectivement exigée dans la formation du cycle inférieur.
Les indications correspondantes sont données seulement durant le cours en
question.
Les cours sont orientés vers les SGBDs relationnels-objet: MsAccess, SQL Server, DB2, Oracle.
Les cours est mis à jour en périodiquement, sans préavis.
Toute utilisation commerciale sans autorisation est interdite
Remerciements
L'organisation de ce cours a reçu le support sous forme de matériel ou de logiciel SGBD, ou d'aide financière de la part des organismes et leur responsables suivants:
Questions et commentaires
Bases de Données. Introduction générale. Concept de BD. Composantes d'une BD. Typologie des SGBD. Architecture ANSI-SPARC. Architectures système: centralisée, client-serveur, BDR/MBD, scalable, « cloud », grille, P2P... Survol de MsAccess. Version expérimentale (partiellement) sonorisée (30 MO en téléchargement). Les diapos avec son comportent une icône d’haut-parleur en bas à droite. En mode diaporama, le son est automatique. Exercices complémentaires
Conception
relationnelle. Relations, attributs, domaines,
clés. Modélisation relationnelle en 1NF. Graphe de références minimal.
Anomalies d’insertion, MAJ, suppression. Démarche générale de conception
optimale d’une base relationnelle. Graphe des références, son optimalité.
Anomalies d’insertion, de MAJ et de suppression. Relation universelle, rappel
sur la 4NF et la BCNF. Décomposition sans perte de données et en général
optimale, par l’élimination de DMs, puis de déterminants non-clés, puis de
colonnes nulles ou presque. Rappel de théorèmes de Fagin, Heath…. Cas
particuliers, dé-normalisation, pratique/théorie. Liens sémantiques,
l’intégrité référentielle, types de jointures implicites associés (MsAccess).
Modélisation conceptuelle par UML. Passage au relationnel par la réification.
Exercices complémentaires 1, 2, 3.
Exemples
de conception formelle d’un schéma relationnel.
Conception relationnelle formelle. Détails sur la relation universelle, les dépendances fonctionnelles (DFs) & multivaluées (DMs). Règles d'Armstrong et leur extension aux DMs par Fagin. Anomalies d’insertion, de MAJ et de suppression. Décomposition sans perte de données par le Théorème de Heath & de Fagin pour les DMs. Décomposition sans perte de DFs. Formes normales : 2, 3, BCNF, 4NF. Exercices complémentaires
Conception relationnelle avancée: Relations à attributs hérités.
Algèbre relationnelle. Opérateurs ensemblistes et relationnels. Requêtes algébriques. Règles de composition des opérateurs. Preuve d'équivalence de puissance expressive de l'algèbre relationnelle - et du calcul de tuple (SQL). Règles d'amélioration d'expression algébriques. Algèbre relationnelle étendue aux fonctions agrégats.
SQL
: un langage relationnel. (1) Définition
de données: Introduction. Dialectes de
SQL: SQL2, SQL3, SQL-DB2 et SQL-MsAccess. Commandes de définition de données
SQL versus l’interface QBE (mode graphique) de MsAccess. Déclaration de tables,
attributs, types de données (MsAccess 2007), contraintes d'intégrité,
sous-tables Vues graphiques ou croisées par défaut. Listes de choix.
(2) Manipulation
de données: Vue d’ensemble. Requêtes SQL simples (projections et
restrictions, clauses In, Between, nuls, date/temps, clause Order By). Prédicats
Distinct, Top, Limit. Expressions de valeur et attributs dynamiques. Jointures:
equi-jointures, Q -jointures,
externes (equi et Q) et internes dans
la clause From, implicites, automatiques. Fonctions agrégats. Opérateurs Union
et Union All. Fonctions scalaires. Sous-requêtes dans la clause Where, avec les
fonctions agrégats et Exist. Quantificateur universel en SQL. Clauses Group By,
Having. Tabulations croisées. Requêtes paramétrées. Calculette SQL.
Sous-requêtes dans la clause From. Requêtes multibases MsAccess. Vues
graphiques. Mises à jour, insertions, suppression. Exercices
complémentaires corrigés.
Version expérimentale (partiellement) sonorisée
(152 MO en téléchargement). Les diapos sonorisées ont une icône d’haut-parleur
en bas à droite. En mode diaporama, le son est automatique.
SQL : catalogues, vues, autorisations, déclencheurs. Création de catalogues en SQL. Requêtes aux catalogues. Création et mises à jour de vues en SQL. Création et manipulation de déclencheurs.
SQL Imbriqué. Créer les Applications de BDs : communication SQL - langage hôte. Curseurs. SQL dynamique. Problème de « mismatch » d'impédances.
SQL
Avancé. Déclarations synonymes. Expression
de valeurs. Function LIST. Clauses ORDER BY, GROUP BY, T-GROUP BY. Valeurs nulles. Fonctions scalaires, notamment
financières et sur Dates/Temps. Clause
Select Into. FROM Imbriqué. Agrégations imbriquées ou par expressions de
valeur. SELECT imbriqué. Interrogations et MAJ de vues. Statistiques, calculs
financiers et actuariels diverses. ROLLUP, CUBE, T-CUBE. SKYLINE (Frontières de
Pareto). Catégorisations, rang denses ou non-denses, distributions et
histogrammes. Agrégations glissantes. Top k Knapsack Joins, pour les choix de
type « sac à dos ». Echantillonnages.
Graphismes. Listes de choix multibases. Fermetures Transitives. Exercices
complémentaires corrigés. TPs. Doc suppl. en anglais sur les fonctions financières, la terminologie financière basique anglaise et sur le nommage en français et en anglais
Calcul de domaine et QBE. Calcul de tuple et calcul de domaine. Manipulation de données en QBE.
Optimisation algébrique de requêtes relationnelles. Critères de performances CPU et mémoire. Règles primaires d'optimisation. Graphe de la requête. Limites d'optimisation relationnelle.
Création Rapide des Applications de BDs : Interfaces 4-GL. Création et manipulation de formes et de rapports. Exercices complémentaires, TPs.
Transactions et Concurrence. Transactions ACID et autres. Verrouillage. Sérialisabilité. 2-PL. Niveaux d'isolation dans SQL2. Granularité de verrous. Verrous prédicatifs. Concurrence sous MsAccess. Autres paradigmes de gestion de concurrence. Dates de valeur.
Reprises sur Pannes d'une BD. Pannes d'une BD. Journalisation. Reprises à partir du journal. Tolérance aux pannes. Systèmes en miroirs. Systèmes RAID. Multiordinateurs.
Structures physiques. Pagination
d'une BD sur disque. Indexes. Structures de données à hachage. Arbres-B.
Structures Distribuées et Scalables. Implémentation d'opérateurs relationnels,
des equi-jointures notamment. Optimisation physique de requêtes. Gestion du
cache. BDs
parallèles.
Manipulations multibases et distribuées. Rév. 2011. Partie 1. Architectures de référence: multibase et fédérée. Concept d'autonomie locale. Hétérogénéité sémantique. Implémentations pratiques. Matériel Biblio de support (pour les trois parties du cours)
Multidatabase and Distributed Manipulations. Part 1. Not revised for several
years, see rather the French version above. Reference architectures:
multibase and federated. Local autonomy. Semantic heterogeneity. Commercial
systems.
Manipulations multibases et distribuées. Rév. 2011. Partie 2. Langage MSQL. Requêtes multibases élémentaires et multiples. Variables sémantiques. Fonctions d’agrégation multibases. Manipulations multibases dans les SGBDs commerciaux : MsAccess, SQL-Server, Oracle, Sybase…. Manipulations multibases dans les SGMB d’accès (médiateurs, méta-engins, « wrappers », méta-moteurs…). Méta-engins commerciaux. Architecture d’un SGMB entrepôt de données. Exercices
Multidatabase manipulations. Part 2. Not revised for several
years, see rather the French version above MSQL language. Multidatabase
manipulations in commercial systems: MsAccess, SQL-Server, Oracle, Sybase. (Data
warehousing).
Manipulations multibases et distribuées. Rév. 2011. Partie 3. Exécution de requêtes multibases. Modèles de transactions multibases : ACID, compensation, sagas, flexibles. Commitement 2PC. Concurrence distribuée. 2PL et dates de valeur. Commitement implicite. Protocoles et standards d'interopérabilité. ODBC. DCE. Service DCE de temps distribué. Exercices
Universal Data Access Through
OLE DB
Systèmes de Support de Décisions. Problèmes BD nouveaux & solutions. Systèmes DS et OLAP. Vues matérialisés. Fouille de données.
Bases de Données « Cloud » (Cloud Databases). Partie 1. Ed. 2013. Clouds : concept et
perspectives. Nouveau vocabulaire: cloud public,
privé, RAM Cloud, P2P, grille (« grid »),
nuage, PaaS, IaaS, SaaS, « Sharding »,
« Elastic Computing »,
« Data Fabrics »…. Concept de scalabilité (passage à échelle, élasticité), ses mesures
« scale-up » et « speed up », Loi d’Ahmdal. Architecture de Référence à 3 niveaux d’un Cloud
Public. Scalable Distributed
Data Structures (SDDSs). Partition scalable et
distribuée par hachage, à intervalle, à haute disponibilité.... SDDSs LH*, RP*, DHT. Operations de Scan et de Map/Reduce dans une SDDS.
Prototype SDDS-2007 d’un RAM Cloud. SD-SQL Server : un SGBD cloud prototype. Infrastructure et utilisation de clouds publiques et de logiciel cloud
ouverts : Azur, Amazon EC2, CloudLayer, MongoDB, PlanetLab, Eurogrid... SGBD Cloud existants : AsterDB,
ScaleBase… Quelques applications Big
Data ou Big Calculus. Biblio
téléchargeable (format .rar, 70 MO). Exercises
Scalable Distributed Data Structures.
Part 1
(not revised for several years, see rather the French version above). Multicomputers :
concept & perspectives. Definition of an SDDS. Performance measures. LH* SDDS.
Integration of an SDDS with a DBMS.
Cloud Databases. Part 2. Révision 2011. LH* for Scalable Distributed Relational Queries. High-availability SDDSs. LH*RS
scheme. with k-Availability using a
Generalized Reed Salomon Erasure Correction Code. Range Partitioned SDDSs. RP*
schemes and industrial strength scalable distributed RP-based cloud
infrastructures : GFS with BigTable, MongDB, Yahoo Pnuts... CERIA SDDS
Prototypes. Algebraic Signatures. Use for backup & pattern matching. SDDSs
for P2P Environment. Chord & DHT based schemes. Churn in P2P clouds: LH*RSP2P.
Grids versus Clouds. Outline of some additional popular cloud infrastructures.
Client side managed privacy in the cloud. Algebraic signatures based encoding
for efficient exact match string search in the cloud under the “Honest but
Curious” threat model. Client-side encryption with recoverable keys: LH*RE.
Conclusion
Additional material: SD-SQL Server
(BNCOD 2006 Keynote); SD-Rtrees
(ICDE07) ; LH*RE
(INRIA Nantes 09), Biblio
file (selection of articles etc, rar archive, 60+ MB); N-gram Matching
(VLDB07); Lh*RSP2P
(NOTERE 2008 Keynote), Google Scientific Series 2007
(video).