IFT3030 Base de données. Chapitre 9 Concepts avancés. Plan du cours



Documents pareils
ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Systèmes de Gestion de Bases de Données

LE LANGAGE SQL2 1. INTRODUCTION

Administration des bases de données. Jean-Yves Antoine

LA GESTION DES VUES 1. INTRODUCTION

TP Bases de données réparties

OBJECTIFS ET ARCHITECTURE DES SGBD

1 Introduction et installation

Les bases de données

Bases de données et sites WEB

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

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

Le Langage De Description De Données(LDD)

Bases de données réparties et fédérées

Bases de données relationnelles

Intégrité des données

Évaluation et optimisation de requêtes

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

A QUOI SERVENT LES BASES DE DONNÉES?

Le Langage SQL version Oracle

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

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Master Exploration Informatique des données DataWareHouse

Bases de données distribuées et fédérées

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

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

Partie II Cours 3 (suite) : Sécurité de bases de données

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Optimisations des SGBDR. Étude de cas : MySQL

Langage SQL : créer et interroger une base

Le langage SQL Rappels

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

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

Bases de Données. Plan

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Bases de données cours 1

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Notes de cours : bases de données distribuées et repliquées

Bases de données avancées Introduction

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

INTEGRITE ET BD ACTIVES

Administration des bases de données relationnelles Part I

MySQL / SQL EXEMPLES

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

I4 : Bases de Données

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Cours Bases de données 2ème année IUT

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

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

Gestion des utilisateurs et de leurs droits

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

TD n 10 : Ma première Base de Données

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

Introduction aux Bases de Données

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Introduction aux SGBDR

Les bases de l optimisation SQL avec DB2 for i

CHAPITRE 1 ARCHITECTURE

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

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

Bases de Données Avancées

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

SQL Historique

Devoir Data WareHouse

1 Position du problème

16H Cours / 18H TD / 20H TP

Session S12 Les bases de l optimisation SQL avec DB2 for i

Bases de données et sites WEB Licence d informatique LI345

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

MODE OPERATOIRE OPENOFFICE BASE

Structure fonctionnelle d un SGBD

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Cours Bases de données 2ème année IUT

INTRODUCTION AU DATA MINING

Bases de données - Modèle relationnel

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Vincent Augusto

Bases de Données Réparties

A QUOI SERVENT LES BASES DE DONNÉES?

TP3 : Creation de tables 1 seance

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

1. Base de données SQLite

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

CREATION WEB DYNAMIQUE

Architecture de la plateforme SBC

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Compétences Business Objects

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

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

PHP 5. La base de données MySql. A. Belaïd 1

Système binaire. Algèbre booléenne

Transcription:

IFT3030 Base de données Chapitre 9 Concepts avancés Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des objets BD à objets 2 1

Introduction En plus des concepts de base du model relationnel, les SGBD relationnels implantent des concepts avancés Concepts présentés Vues 3 Généralités Les vues sont pour le relationnel ce que sont les niveaux externes pour les modèles légués Garantissent l'indépendance logique entre les applications et la base de données Renforcent la sécurité Exemple Vente (Numv, Nump, Numf, Date, Qte) Produit (Nump, Des, Type, Prix) Fournisseur (Numf, Nom, Region, Tel) les produits vendus par le fournisseur FLUX les ventes du produit numéro 63755 par région les fournisseurs de l'île de Montréal 4 2

Définition Table virtuelle dont le schéma et le contenu sont dérivés de la base de données par une requête Syntaxe SQL CREATE VIEW <une_vue> [ <liste_alias> ] AS <une_requête> [WITH CHECK OPTION] Exemple les produits vendus par le fournisseur FLUX les ventes par région les fournisseurs de l'île de Montréal 5 Syntaxe SQL (suite) DROP VIEW <une_vue> 6 3

Mise à jour des données à travers une vue Problèmes : traduire toute mise à jour, insertion ou suppression portant sur une vue en une mise à jour des tables de base Exemples Modifier un produit du fournisseur FLUX Rajouter un fournisseur à la liste des fournisseurs de l'île de Montréal Solution En pratique, mise à jour réservé aux vues monotable avec obligation de contenir la clé 7 Mise à jour des données à travers une vue Règle pour la mise à jour avec SQL 1. La vue est définie comme une sélection (pas d'union par exemple) 2. Pas de DISTINCT dans le SELECT 3. Tout élément du SELECT est une référence à un attribut de la table sous-jacente 4. La clause FROM contient une référence à une seule table 5. Cette table peut être soit une table de base soit une vue qui peut être mise à jour 6. Pas de clause WHERE qui contient une sous-requête dont la clause FROM fait référence à la table en question 7. Pas de GROUP BY 8. Pas de HAVING 8 4

Cas particulier: Vue concrète Une vue calculée à partir des tables de base et stockée physiquement sur disque Elle est mise à jour dès qu'une transaction modifie les tables sous-jacentes par différentiel quand c'est possible Particulièrement intéressante pour mémoriser les agrégats 9 Cas particulier: Vue concrète Syntaxe SQL CREATE SNAPSHOT <une_vue_concrete> AS <une_requête> [ REFRESH [FAST COMPLETE FORCE] [START WITH date] [NEXT date]] Exemple ventes de produits par jour 10 5

Objectif Maintenir des performances acceptables lors de l exécution des requêtes Exemple : Requête : Nom et prénoms des buveurs Montréalais de Volnay depuis 1999 Contenu de la base : 10 millions de buveurs dont 1 m à Montréal 10 millions d'abus dont 10000 de Volnay et 1m depuis 1999 (2000 de Volnay depuis 1999) 1000 vins Coût d exécution : 10m * 10m + B.NB B.NOM, B.PRENOM A.NV Résultat B.VILLE Montréal A.DATE > 01-01-1999 V.CRU Volnay A.NB V B A 11 Autre solution Coût d exécution : 10m + 10m + 10000 + + 1m * 1 m + 2000 + Résultat B.NOM, B.PRENOM A.NV B.NOM, B.PRENOM,A.NV B.NB A.NB B.NB, B.NOM, B.PRENOM A.NB, A.NV B.VILLE Montréal A.DATE > V.CRU 01-01-1999 Volnay B A V 12 6

Problème : suivant l'ordre des opérateurs algébriques dans un arbre, le coût d'exécution est diffèrent Pourquoi? le coût des opérateurs varient en fonction du volume des données traitées. Plus le nombre de n-uplets des relations traitées est petit, plus les coûts cpu et d'e/s sont minimisés certains opérateurs diminuent le volume des données e.g., restriction et projection 13 Processus 1.Transformer la requête dans un format interne 2.Trouver une forme canonique 3.Décider de la stratégie d exécution de bas niveau 4.Générer les plans de requêtes et choisir le meilleur 14 7

Transformer la requête dans un format interne Arbre de requête en algèbre relationnelle Exemple : Requête : Noms et prénoms des buveurs Montréalais de Volnay depuis 1999 Résultat B.NOM, B.PRENOM B.VILLE Montréal SELECT NOM, PRENOM FROM BUVEURS B, ABUS A, VINS V WHERE B.NB A.NB AND A.NV AND CRU Volnay AND DATE > 01-01-1999 AND VILLE Montréal B.NB A.NV A.DATE > 01-01-1999 V.CRU Volnay A.NB V B A 15 Trouver une forme canonique Définitions Soit Q un ensemble de requêtes et R une relation d équivalence entre ces requêtes (deux requêtes sont équivalentes si elles produisent le même résultats), un sous ensembles C de Q est un ensemble de formes canoniques de Q pour R si et seulement si toute requête q de Q est équivalente à exactement une requête c de C c est la forme canonique de q 16 8

Trouver une forme canonique Règles de transformation 1. Une suite restrictions sur une relation donnée peut être transformer en une restriction conjonctive sur cette relation 2. Dans une suite de projections sur une relation donnée, on peut garder uniquement la dernière 3. Une restriction d une projection peut être transformée en une projection sur une restriction 4. Distributivité : f(a B) f(a) f(b) ou f est une opération sur une table (restriction, projection) et une opération binaire (union, intersection, différence, jointure) 17 Trouver une forme canonique Règles de transformation 4. Distributivité : f(a B) f(a) f(b) Union Intersection Différence Jointure Restriction Oui Oui Oui Si 2 cond., une pour chaque table Projection Oui Oui Non Si les attributs de jointure inclus dans la projection 18 9

Trouver une forme canonique Règles de transformation 5. Commutativité : A B B A union, intersection, jointure (pas différence, division) 6. Associativité : (A B) C A (B C) union, intersection, jointure (pas différence, division) 7. Idempotence : A A A union, intersection, jointure (pas différence, division) 8. Simplification d expressions arithmétiques Exemple : a * b + a * c a * (b + c) 9. Transformation d expressions logiques Exemple : a > b AND b > 3 a > b AND b > 3 AND a > 3 19 Trouver une forme canonique Règles de transformation 10. Transformations sémantiques Dépendent de la sémantique du domaine Reliés aux contraintes d intégrité Exemple : suppression de jointure dans certains cas Project(Join(Abus, Vins), NV) Project(Abus, NV) 20 10

Trouver une forme canonique Résultat B.NOM, B.PRENOM Résultat B.VILLE Montréal B.NOM, B.PRENOM A.DATE > 01-01-1999 A.NV V.CRU Volnay B.NOM, B.PRENOM,A.NV B.NB A.NB A.NV B.NB, B.NOM, B.PRENOM A.NB, A.NV B B.NB A.NB A V B.VILLE Montréal B A.DATE > A V.CRU 01-01-1999 Volnay V 21 Décider de la stratégie d exécution de bas niveau Tient compte des facteurs suivants Les indexes La distribution des valeurs de données mémorisées L emplacement des physique des données mémorisées Etc. 22 11

Générer les plans de requêtes et choisir le meilleur Chaque opérateur algébrique est implanté par plusieurs procédures Un plan d exécution est une combinaison de procédures pour une requête donnée Il existe plusieurs plans possibles pour une requête Le coût de chaque plan est la somme des coûts des procédures qu il contient Le coût de chaque procédure est estimé en fonction des résultats possibles de la procédure précédente Tous les plans ne sont pas générés. Des techniques de réduction de l espace de recherche sont utilisées 23 12