Optimisation de requêtes en algèbre relationnelle Calcul relationnel. Outline A.D., S.B. Février Introduction. . 2 Optimisation de requtes

Documents pareils
Bases de Données. Plan

Bases de données avancées Introduction

Les bases de données

TP Bases de données réparties

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Rappel sur les bases de données

Bases de données cours 1

Suites numériques 3. 1 Convergence et limite d une suite

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Introduction au Système de Gestion de Base de Données et aux Base de Données

Le langage SQL Rappels

TP Contraintes - Triggers

Langage SQL : créer et interroger une base

Compte-rendu de projet de Système de gestion de base de données

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

ARTLINK. ARTLINK est un collectif de créatifs issus de divers horizons. Il a vu le jour en et a fait de la création son métier, de l'art sa vocation.

1 Introduction et installation

16H Cours / 18H TD / 20H TP

MIS 102 Initiation à l Informatique

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

IFT Concepts. Claude Frasson A de Bases de données avancées

Introduction aux Bases de Données

Bases de Données relationnelles et leurs systèmes de Gestion

INTRODUCTION : Données structurées et accès simplifié

Calculabilité Cours 3 : Problèmes non-calculables.

Vincent Augusto

Bases de données réparties: Fragmentation et allocation

Chapitre 1 : Introduction aux bases de données

Limites finies en un point

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Comment rédiger r une bibliographie? BULCO-Méthodologie documentaire-bibliographie-2010

OPTIMISATION À UNE VARIABLE

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Cours: Les Jointures 1

Représentation géométrique d un nombre complexe

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Chapitre 10. Architectures des systèmes de gestion de bases de données

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

COURS de BASES de DONNEES

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Limitations of the Playstation 3 for High Performance Cluster Computing

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Cours Fonctions de deux variables

A QUOI SERVENT LES BASES DE DONNÉES?

1 Mise en application

Mise à jour : Octobre 2011

Présentation du module Base de données spatio-temporelles

Guide de configuration de SQL Server pour BusinessObjects Planning

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

SOMMAIRE. Travailler avec les requêtes... 3

1 Modélisation d une base de données pour une société de bourse

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Mémo d'utilisation de BD Dico1.6

Chapitre 1 I:\ Soyez courageux!

DOCM Solutions officielles = n 2 10.

LES DÉTERMINANTS DE MATRICES

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Le produit semi-direct

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Seconde et première Exercices de révision sur les probabilités Corrigé

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

F411 - Courbes Paramétrées, Polaires

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Information utiles. webpage : Google+ : digiusto/

Modèle conceptuel : diagramme entité-association

Sites web éducatifs et ressources en mathématiques

Programmes des classes préparatoires aux Grandes Ecoles

Dossier I Découverte de Base d Open Office

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

Créer le schéma relationnel d une base de données ACCESS

L exclusion mutuelle distribuée

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Probabilités III Introduction à l évaluation d options

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

INEX. Informatique en Nuage : Expérimentations et Vérification. Livrable n M1 PARALLÉLISME ET ÉVALUATION

Le modèle de Black et Scholes

Introduction aux Bases de Données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Comment référencer votre annonce Sur les moteurs de recherche?

Réalisabilité et extraction de programmes

AdWords Guide de survie

CERTIFICAT INFORMATIQUE ET INTERNET NIVEAU 1

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Mise en œuvre des serveurs d application

IaaS à la sauce Portails Focus sur. Pierre Aubert Orange Portails OF/DMGP/Portails/DOP 1 er Juillet 2013

Année Universitaire 2009/2010 Session 2 de Printemps

Simulation de systèmes. Logiciel de simulation

Systèmes de Gestion de Bases de Données

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UNE FORMATION POUR APPRENDRE À PRÉSENTER DES DONNÉES CHIFFRÉES : POUR QUI ET POURQUOI? Bénédicte Garnier & Elisabeth Morand

DESCRIPTIF DU DOCUMENT. Déploiement Nouveau système de rémunération au ème salaire

Bases de Données Relationnelles. Le Modèle Relationnel

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Transcription:

Optimisation de requêtes en algèbre relationnelle Calcul relationnel BD4 AD, SB Licence MASS, Master ISIFAR, Paris-Diderot Février 2012 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 1/20 Février 2012 1 / 20 Introduction Outline 1 Introduction 2 Optimisation de requtes 3 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 2/20 Février 2012 2 / 20

Introduction Le modèle relationnel Requêtes : expressions formées à partir des opérations de l'algèbre relationnelle Permettent d'extraire des informations (des tables) de la base Exemple : La base constituée des trois tables : fournisseurs(fno, nom, adresse, ville) produits(pno,design,prix,poids,couleur) commandes(cno,fno,pno,qte) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 3/20 Février 2012 3 / 20 Introduction Exemple On veut : déterminer les numéros des fournisseurs ayant comme nom "FastDelivery" π fno (σ nom= FastDelivery (fournisseurs)) déterminer les références, prix et quantités des produits commandés à plus de 10 exemplaires π pno,prix,qte (σ qte>10 (commandes pno produits)) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 4/20 Février 2012 4 / 20

Exemple Optimisation de requêtes Plusieurs requêtes différentes peuvent mener à des résultats identiques Exemple : Déterminer les références, prix et quantités des produits commandés à plus de 10 exemplaires Peut s écrire alternativement : F 1 = π pno,prix,qte (σ qte>10 (commandes pno produits)) F 2 = π pno,prix,qte (produits pno σ qte>10 (commandes)) F 3 = π pno,prix (produits) pno π pno,qte (σ qte>10 (commandes)) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 5/20 Février 2012 5 / 20 Optimisation de requêtes Exemple : coûts des évaluations Hypothèses (pour l exemple) : Chaque élément d'un uplet est codé sur 10 caractères La table Produit contient 100 tuples La table Commandes contient 50 tuples Elle contient aussi 10 tuples dont la valeur du champs qte est supérieure à 10 Stockage des relations : Pour Produit : 100 5 10 = 5000 caractères Pour Commandes : 50 4 10 = 2000 caractères Coût des opérations : Taille de la jointure Taille du produit cartésien (dans le pire des cas ie si pas de clés impliquées) commandes pno produits 5000 2000 = 10 7 caractères BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 6/20 Février 2012 6 / 20

Optimisation de requêtes Exemple : coûts des évaluations F 1 réalise une jointure "très tôt" Coût important : table intermédiaire de 10 7 caractères F 3 réalise d'abord des sélections et des projections π pno,prix (produits) = 100 2 10 = 2000 π pno,qte (σ qte>10 (commandes)) = 10 2 10 = 200 Jointure finale de taille (pire des cas) : 2000 200 = 400000 F 1 nécessite une table intermédiaire 250 plus grande que F 3 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 7/20 Février 2012 7 / 20 Optimisation de requêtes Coûts des évaluations Exemple précédent très modeste mais illustre les différences de coûts suivant les évaluations Les produits cartésiens sont très coûteux Les jointures peuvent (dans certains cas) générer des résultats intermédiaires assez gros Conclusion : "pousser" les sélections et projections vers l'intérieur des requêtes et réserver les jointures pour la fin (quand il y a moins de données) S'obtient en appliquant automatiquement des règles de re-écriture de requêtes BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 8/20 Février 2012 8 / 20

Optimisation de requêtes Règles d'équivalence pour l'optimisation Regroupement de restrictions (sélections) σ C (R) σ C1 (σ C2 ( σ ck (R) )) si C = C 1 C 2 C k Regroupement de projections π Y (R) π Y (π X (R)) (On doit avoir Y X) Inversion projection-restriction (C(Y ) est une condition portant sur un ensemble d'attributs Y de la relation R) π X (σ C(Y ) (R)) σ C(Y ) (π X (R)) si Y X Inversion projection-union π X (R 1 R 2 ) π X (R 1 ) π X (R 2 ) Associativité du produit cartésien (et jointure) R 1 C1 (R 2 C2 R 3 ) (R 1 C1 R 2 ) C2 R 3 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 9/20 Février 2012 9 / 20 Optimisation de requêtes Règles d'équivalence pour l'optimisation Inversion restriction-union σ C (R 1 R 2 ) σ C (R 1 ) σ C (R 2 ) Inversion restriction-différence σ C (R 1 R 2 ) σ C (R 1 ) R 2 Inversion projection-produit cartésien π Z (R 1 R 2 ) π Z X (R 1 ) π Z Y (R 2 ) où X et Y sont les attributs respectifs de R 1 et R 2 Inversion restriction-produit cartésien σ C(Y ) (R 1 R 2 ) σ C1 (Y 1 )(R 1 ) σ C2 (Y 2 )(R 2 ) où C(Y ) = C 1 (Y 1 ) C 2 (Y 2 ) avec Y 1 et Y 2 étants des sous-ensembles des attributs respectifs de R 1 et R 2 (ie Y 1 et Y 2 sont des sous-ensembles des schémas respectifs de ces deux relations) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 10/20 Février 2012 10 / 20

Optimisation de requêtes Optimisation Applications des équivalences ci-dessus pour ramener les produits cartésiens et jointure en haut de l'arbre de requêtes Quand c'est possible : projeter ou sélectionner avant d'utiliser les opérations ensemblistes (union, intersection, etc) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 11/20 Février 2012 11 / 20 Langages prédicatifs Requête en algèbre relationnelle : indique comment calculer le résultat Requête en calcul relationnel de tuples : décrit les propriétés satisfaites par tout tuple du résultat est un exemple de langage prédicatif BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 12/20 Février 2012 12 / 20

Exemple Requêtes : déterminer les références et prix des produits commandés à plus de 10 exemplaires On peut décrire le résultat par : l'ensemble des valeurs tpno et tprix des tuples t de la table produit pour lesquels il existe (au moins) un tuple t de la table commande vérifiant tnum = t num et t qte > 10 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 13/20 Février 2012 13 / 20 Variables, relations, formules R(A 1 : D 1,, A n : D n ) : schéma de relation Objets du langage : les tuples t représentés par t = (ta 1,, ta n ) où chaque composant ta i est à valeur dans D i Langage : Les relations R i de la base, les domaines D j associés Les comparateurs usuels : <,, =,, >, BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 14/20 Février 2012 14 / 20

Formulas atomiques du calcul relationnel de tuples Formules "atomiques" : R(t) où R est une relation de la base et t une variable de tuple a b ou t 1 A b ou t 1 A t 2 B Avec a, b des constantes (ie des éléments d'un domaine d'une relation), t 1, t 2 des tuples, A, B des attributs et l'opération est à choisir dans {<,, =,, >, } Exemple : Exemples dans la base Tennis du TD - tannaiss > 1998, - t 1 NuGagnant = t 2 NuPerdant, sont des formules atomiques correctes BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 15/20 Février 2012 15 / 20 Formule du calcul relationnel de tuples Définition inductive 1 Toute formule atomique ϕ est une formule 2 Si ϕ et ψ sont des formules, alors ϕ ψ, ϕ ψ et ϕ sont des formules 3 Si ϕ est une formule, R une relation et t une variable de tuple, alors sont des formules t R(t) ϕ et t R(t) ϕ Les variables de tuples non quantifiées sont dites libres Elles contribuent à former le résultat On note en en-tête de formule les tuples et attributs du résultat {t 1 A 1,, t k A k : ϕ(t 1,, t k )} BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 16/20 Février 2012 16 / 20

Exemples Joueurs de Tennis nés après 1990 {t : Joueurs(t) tannaiss > 1998 } Numéros de joueurs ayant participé à Roland-Garros depuis 2004 {tnujoueur : Gains(t) tlieutournoi = R G tannee > 2004 } Ensemble des gains de Nadal à Wimbledon Requête {tprime : ψ(t)} avec : ψ(t) t 1 Joueur(t 1 ) t 1 Nom = Nadal t 1 NuJoueur = tnujoueur tlieutournoi = Winbledon Gains(t) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 17/20 Février 2012 17 / 20 Exemples On ne spécifie que les formules ici - La nationalité des joueurs ayant perdu 6 0, 6 0, 6 0 au cours de l histoire de Wimbledon ψ(tnationalite) Joueur(t) t 1 Rencontres(t 1 ) tnujoueur = t 1 NuPerdant t 1 LieuTournoi = Wimbledon t 1 Score = 6 0, 6 0, 6 0 - Le nom des joueurs qui ont perdu au premier tour en 1998 à Roland-Garros : ψ(tnom) Joueur(t) t 1 Rencontres(t 1 ) tnujoueur = t 1 NuPerdant t 1 Annee = 98 t 1 LieuTournoi = RG t 2 (Rencontres(t 2 ) t 2 Annee = 98 t 2 LieuTournoi = RG ) t 2 NuGagnant tnujoueur BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 18/20 Février 2012 18 / 20

Equivalence avec l'algèbre relationnelle Le théorème suivant, non prouvé ici, est vrai : Théorème L'algèbre relationnelle et le calcul relationnel de tuples définissent le même ensemble de requêtes Ie toute requête définissable dans un langage est définissable dans l'autre BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 19/20 Février 2012 19 / 20 Equivalence avec l'algèbre relationnelle : exemple ψ(tnationalite) Joueur(t) t 1 Rencontres(t 1 ) tnujoueur = t 1 NuPerdant t 1 LieuTournoi = Wimbledon t 1 Score = 6 0, 6 0, 6 0 π Nationalite Joueur C0 σ C1 (Rencontres) Avec C 0 JoueurNuJoueur = RencontresNuPerdant et C 1 LT = Wimbledon Score = 6 0, 6 0, 6 0 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Algèbre et calcul relationnels 20/20 Février 2012 20 / 20