Cours Bases de Donnees - Lamsade - Université Paris

Transcription

Cours Bases de Donnees - Lamsade - Université Paris
Cours en Bases de Données
Witold Litwin
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:
•
•
•
•
•
•
•
Microsoft Research Laboratory, Cambridge, Pierre-Yves Saintoyant (GB)
Microsoft Database Group, D. Lomet, Redmond (USA)
Microsoft Bay Area Research Center, San Francisco, J. Gray (USA)
IBM Almaden Research Database Group, M. Carey, San Jose (USA)
IBM Almaden Research Storage Systems Dep., J. Menon, San Jose (USA)
Hewlett-Packard Laboratories, U. Dayal, Palo Alto (USA)
Hewlett-Packard, J. Misselis, Evry (France)
Questions et commentaires
•
•
•
[email protected]
Poste 4880
Bureau B209
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’hautparleur 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: equijointures, Θ -jointures, externes (equi et Θ) 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 4GL. 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étamoteurs…). 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. Révision 2011. Clouds : concept et perspectives. Vocabulaire en vogue :
cloud public, privé, P2P, grille (« grid »), nuage, SaaS, « File Hosting », « Elastic
Computing », « Data Fabrics » …. RAM Clouds. Concept de scalabilité (passage à
échelle, élasticité), ses mesures « scale-up » et « speed up ». Scalable Distributed Data
Structures (SDDSs). Axiomatique d'une SDDS. Les SDDS connues, à partition par
hachage, par intervalle, à haute disponibilité.... Présentation détaillée de SDDS LH*.
Architecture logiciel d’un client et d’un serveur du prototype SDDS-2007.
Performance de LH*. Biblio téléchargeable (format .rar, 62MO). 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).