10/04/2011. Toute requête SQL est traitée en trois étapes :

Dimension: px
Commencer à balayer dès la page:

Download "10/04/2011. Toute requête SQL est traitée en trois étapes :"

Transcription

1 1 1. Rappels 2. Structures d indexation et placement 3. Algorithmes de sélection 4. Algorithmes de jointure Toute requête SQL est traitée en trois étapes : 1. Analyse et traduction de la requête : on vérifie qu elle est correcte, elle est ensuite exprimée sous la forme d opérations (algèbre relationnelle) 2. Optimisation : comment agencer au mieux les opérations? Quels sont les algorithmes à utiliser? Un plan d exécution est obtenu 3. Exécution de la requête : le plan d exécution est compilé et exécuté 3 1

2 Langages de requêtes Deux langages de requêtes à fondements mathématiques sont à la base de SQL : Calcul relationnel: Permet aux utilisateurs de décrire le résultat souhaité Non opérationnel, déclaratif Algèbre relationnelle: Plus opérationnel que le calcul relationnel Permet de représenter les plans d exécution 4 Calcul Relationnel Dérivé de la logique du première ordre Prédicats, quantificateur de variable Calcul relationnel de domaine Requêtes de la forme {X Formule(X, Y) } X est un vecteur de variables non quantifiées (x1, x2, ) Y est un vecteur de variables quantifiées (( / ) y1, y2, ) Chaque variable représente une colonne de table Ex: {(x1,x2) y1 (Emp(x1,x2,,y1) y1 = 25/10/2004 ) } 5 Calcul Relationnel Calcul relationnel de tuple Une variable correspond à un n-uplet Ex: {(X.empno, X.ename) Emp(X) X.dateEbauche = 25/10/2004 } 6 2

3 Algèbre relationnelle Opérations de base: Sélection ( ) Sélectionne un sous-ensemble des lignes d une relation. Projection ( ) Efface des colonnes d une relation *et élimine les doubles+. Produit Cartésien ( X ) Permet de combiner deux relations. Différence ( - ) Elimine les tuples de R1 contenus dans R2 Union ( ) Constitue une relation R avec les tuples de R1 et ceux de R2 7 Algèbre relationnelle Opérations additionnelles: Jointure ( ) Combinaison de produit cartésien et sélection sur colonnes comparables (=, <, >,...) Intersection Constitue une relation R avec les n-uplets appartenant à la fois à R1 et R2 Chaque opération retournant une relation => les opérations peuvent être composées 8 Division C = A / B C(X) est la division de A (X, Y) par B (Y) ssi C contient tous les n-uplets (x) tels que (y) B, (x, y) A Quels sont les fournisseurs de l ensemble A qui produisent toutes les pièces de B F# P# F1 P1 F1 P2 F2 P1 F2 P3 Equivalent SQL de la division: SELECT F# FROM A JOIN B ON A.P# = B.P# GROUP BY F# HAVING COUNT(DISTINCT *) = (SELECT COUNT(DISTINCT *) FROM B); A P# P1 P2 B F# F1 C 9 3

4 Exécutions des sélections Cas sans index Filtrage séquentiel de la relation Algorithme Select (R, Q) : Foreach block b de R do { Read (b); Foreach n-uplet n de b { if CheckCondition (n, Q) then result = result n ;} } 10 Sélection via index Cas avec index unidimensionnel (Arbre-B, Arbre-B+) Variante : Cas avec hachage 11 Utilisation d'index B+-tree Intersection et union de listes d'adresses de n-uplets Accès aux n-uplets dont les identifiants sont retenus Vérification du reste du critère Exemple choix 1: Utilisation de tous les index (JOB = 'INGENIEUR') AND (AGE > 30) AND (deptno = 5) L = J (A1 A2 Ap) D Accéder aux n-uplets de L Exemple choix 2: Choix du meilleur index Accès via l'index (JOB = 'INGENIEUR') Vérification du reste des critères sur les n-uplets résultats 12 4

5 Utilisation d'index Bitmap Détermination des adresses des n-uplets candidats Très utile pour les agrégats 13 Exécution des jointures Opération essentielle des SGBDR Plusieurs méthodes Sans index : réduire les balayages Optimiser les comparaisons Créer dynamiquement des index ou tables de hachage Avec index Profiter au mieux des index Contraintes : Réduire I/O et temps CPU 14 Jointure Les mêmes types d algorithmes peuvent êtres utilisés pour les autres opérateurs binaires (union, intersect, ) Algorithmes : Nested Loop Join Index Join Merge Sort Join Hash Join 15 5

6 Optimisation de Requêtes Arbres relationnels Restructuration algébrique Modèle de coût Choix du meilleur plan Conclusion 16 Architecture Type SGBD ANALYSEUR CONTROLE SYNTAXE SEMANTIQUE SCHEMA VUES INTEGRITE AUTORISATIONS META-BASE OPTIMISEUR ORDONNANCEMENT ELABORATION D'UN PLAN EXECUTABLE EXECUTION METHODES D'ACCES 17 Quelles informations utiliser pour l optimisation? Le traitement s'appuie sur les éléments suivants : Le schéma logique de la base: description des tables, des contraintes d'intégrité, Le schéma physique de la base: indexes et chemins d'accès, tailles des blocs, Des statistiques: taille des tables, des index, distribution des valeurs Par exemple: R1: n-uplets (site A) et R2: 200 n-uplets (site B) =>Pour réaliser R1 R2 - il vaut mieux transférer R2 Des statistiques: taux de mises-à-jour, workload Les particularités du système: parallélisme, processeurs spécialisés, Des algorithmes: peuvent différer selon les systèmes 18 6

7 Etapes de l'optimisation (1) Obtention d une représentation canonique (2) Réécriture = transformation par : Simplification (expressions logiques, etc.) ordonnancement des opérations élémentaires (3) Planning = construction des plans d'exécution candidats choix des algorithmes pour chaque opérateur, calcul du coût de chaque plan, choix du meilleur plan trop de plans possibles, utilisation d heuristique Etapes 1 et 2 : indépendantes des données Etape 3 : dépendante des données 19 Arbres relationnels RESTRICTION PROJECTION TRI E.JOB = "Ingénieur" E.SAL, E.JOB E.DEPTNO, E.JOB JOINTURE E E DIFFERENCE E E. DEPTNO = D.DEPTNO E D B1 B2 AGREGAT PRODUIT CARTESIEN UNION COUNT(*),AVG(SAL) U E.DEPTNO, E.JOB E D B1 B2 E 20 Exemple d'arbre Coût d'exécution: N projets dont Nm à Metz M dept dont Mi "Investissement" K emp RESULTAT E.ENAME, P.PNAME E.AGE > 30 D.NOM = " INVEST" N + Nm*M + Nm*M*K + Nm*Mi*K + comparaisons de n-uplets P.DEPTNO = D.DEPTNO = D.DEPTNO E.DEPTNO EMP E P.LOC = "METZ" DEPT D PROJET P 21 7

8 Typologie des arbres Arbre linéaire droit Arbre linéaire gauche Arbre ramifié 22 Restructuration algébrique Problème : suivant l'ordre des opérateurs algébriques dans un arbre, le coût d'exécution est diffèrent Pourquoi? 1.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 2.certains opérateurs diminuent le volume des données (restriction, projection, ) 23 Commutativité des Jointures R S S R 24 8

9 Associativité des jointures Il existe environ N! arbre de jointure de N relations Cas des produits cartésiens T R R S S T 25 Groupage des Restrictions Ai = a Ai = a et Aj = b Aj = b Une cascade de projections/sélections peut se réécrire en une opération de filtrage (un seul scan de données) 26 Descente des Projections Il est possible de descendre les projections, mais les attributs utilisés par la suite doivent être conservés A1, Ap A1, Ap Ai = a Ai = a Ai, A1, Ap 27 9

10 Descente des restrictions A1 = vi <==> A1 = vi R2 (.. Bj..) R1 (.. Ai..) R2 (.. Bj..) R1 (.. Ai..) Les projections/sélections sont des réducteurs importants, d où l importance de le pousser vers les feuilles. 28 Règles de Restructuration Commutativité des jointures Associativité des jointures Regroupement des restrictions Descente des projections et restrictions c1 c2 (R)= c1 ( c2 (R)) = c2 ( c1 (R)) Si A A1 alors A (R) = A ( A1 (R)) A ( c (R)) = c ( A (R)) si la conditions c peut être vérifiée sur les attributs de l ensemble A c (R S) = c (R) S R (S T) = (R S) T c (R S) = c (R) c (S) A (R S) = A (R) A (S) 29 Heuristique d'optimisation Appliquer d'abord les opérations réductrices (restrictions et projections) en les groupant sur chaque relation 1. Dégrouper les restrictions 2. Descendre les restrictions 3. Grouper les restrictions aux feuilles 4. Descendre les projections Ordre des unions, différences et jointures? 30 10

11 Exemple d'arbre Optimisé Coût d'exécution réduit Résultat RESULTAT E.ENAME, P.PNAME E.AGE > 30 D.NOM = " INVEST" D.DEPTNO E.DEPTNO = P.DEPTNO D.DEPTNO = EMP E E.ENAME, P.PNAME E.DEPTNO D.DEPTNO = E.DEPTNO, E.ENAME, P.PNAME P.DEPTNO E.DEPTNO = D.DEPTNO P.LOC = "METZ" PROJET P DEPT D P.DEPTNO, P.PNAME P.LOC = " METZ" PROJET P E.DEPTNO, E.ENAME E.AGE > D.NOM 30 EMP E = " INVEST" DEPT D 31 Ordonnancement des Jointures HEURISTIQUES : Choix des relations de taille minimum Jointures précalculées d abord (index) Semi-jointures (où les projections ne concernent qu une des relations de la jointure) plus réductrices ORDONNANCEMENT DES AGREGATS Permutations difficiles Profiter des tris des jointures, dédoublement, etc.. Gains importants pour MIN et MAX 32 Ordonnancement des jointures Exemple: Quel est le nom des clients qui ont commandé le produit 415? Q1 = ename ( idprod=415 (Produit) (Commande Client)) Hypothèse: 60 clients, 400 commandes, 40 produits puis (clients) il vaut mieux faire: Q2 = ename (( idprod=415 (Produit) Commande) Client) puis

12 MODELE DE COUT Facteur de sélectivité S Proportion de n-uplets du produit cartésien des relations touchées qui satisfont une condition. Exemple: SELECT * FROM R1, R2 => S = 1 SELECT * FROM R1 WHERE A = valeur => S = 1 / CARD(A) avec un modèle uniforme 34 Sélectivité des Restrictions TAILLE ( (R)) = s * TAILLE(R) avec: s (A = valeur) = 1 / CARD(A) s (A > valeur) = (max(a) - valeur) / (max(a) - min(a)) s (A < valeur) = (valeur - min(a)) / (max(a) - min(a)) s (A IN liste valeurs) = (1/CARD(A)) * CARD(liste valeurs) s (P et Q) = s(p) * s(q) s (P ou Q) = s(p) + s(q) - s(p) * s(q) s (not P) = 1 - s(p) Le coût dépend de l'algorithme (index, hachage ou balayage). 35 Sélectivité des Jointures TAILE( R1 R2) = p * TAILLE(R1) * TAILLE(R2) p dépend du type de jointure et de la corrélation des colonnes : p = 0 si aucun n-uplet n est joint p = 1 / MAX(CARD(A),CARD(B)) si distribution uniforme équiprobable des attributs A et B sur un même domaine (col. join.) p = 1 si produit cartésien L'algorithme utilisé change radicalement les coûts linéaire si index, produit des tailles si boucles imbriquées

13 Calcul des tailles Taille des tables de base dans le catalogue Calcul des tailles à la compilation application du coefficient de sélectivité hypothèse d uniformité Possibilité d histogrammes RunStat(<Table>, <Attribut>) Stockage dans le catalogue de l histogramme de distribution de l attribut Utilisation par le modèle de coût 37 Choix du meilleur plan Arbre d'opérations Schéma interne Plans d'exécution Générateur de Plans Stratégie de Recherche Bibliothèque de transformations Heuristiques de choix Modèle de coût Plan d'exécution Optimal 38 Sélectivité minimum Rel = liste des relations à joindre ; p = plus petite relation ; Tant que Rel non vide { R = relation de sélectivité minimum de Rel ; p = join(r,p) ; Rel = Rel - R ; } ; Return(p) ; 39 13

14 Itérateurs Tous les SGBD s'appuient sur un ensemble d'opérateurs physiques, ou itérateurs. Tous fournissent des interfaces semblables : open : initialise les tâches de l'opérateur, positionne le curseur avant le premier résultat à fournir; next : retourne l'enregistrement courant et se positionne sur l'enregistrement suivant; close : libère les ressources. On appelle itérateurs ces opérateurs. Ils sont à la base des plans d'exécution. 40 Plan d exécution Un plan d'exécution est un arbre d'itérateurs. Chaque itérateur consomme une ou deux sources, qui peuvent être soit d'autres itérateurs, soit un fichier d'index ou de données ; Un itérateur produit un flux de données à la demande, par appels répétés de sa fonction next. Un itérateur peut appeler les opérations open, next et close sur ses itérateurs sources. La production à la demande évite d'avoir à stocker des résultats intermédiaires. 41 Itérateur: parcours séquentiel On lit, bloc par bloc, le fichier. Quand un bloc est en mémoire, on traite les enregistrements qu'il contient. Sous forme d'itérateur : La commande open place le curseur au début du fichier et lit le premier bloc ; La commande next renvoie l'enregistrement courant, et avance d'un cran ; on lit un nouveau bloc si nécessaire ; close libère les ressources

15 Itérateur: traversée d index et accès direct Index : l'itérateur prend en entrée une valeur, ou un intervalle de valeurs. on descend jusqu'à la feuille (open) ; on renvoie l'adresse courante lors du premier appel de next, on se décale d'un enregistrement dans la feuille courante (éventuellement, on lit le bloc-feuille suivant) ; Accès direct : s'appuie sur un itérateur qui fournit des adresses d'enregistrement 43 Exemple de plan d exécution Requête: Q1 = deptno (Dept sal> (Emp)) Etapes: Itérateurs de parcours séquentiels; Itérateur de traversée d index; Itérateur de jointure avec index; Itérateur d accès direct par adresse; Itérateur de projection Le plan est exécuté par simple appel (open; next; close) sur la racine (itérateur de projection). 44 Rôle des itérateurs Principes essentiels : Production à la demande : le serveur n'envoie un enregistrement au client que quand ce dernier le demande ; Pipelinage : on essaie d'éviter le stockage en mémoire de résultats intermédiaires : le résultat est calculé au fur et à mesure. Conséquences : temps de réponse minimisé (pour obtenir le premier enregistrement) mais attention aux plans bloquants (ex. plans avec un tri)

16 Tri externe Le tri (dans table) externe est utilisé, pour les algorithmes de jointure (sort-merge) l'élimination des doublons (clause DISTINCT) pour les opérations de regroupement (GROUP BY) ORDER BY Opération très coûteuse sur de grands jeux de données. 46 Tri-fusion Etape 1: Lire une page, la trier, l écrire. Un seul buffer utilisé Coût : une lecture + une écriture du fichier. Etape suivantes (2, 3,,): trois buffers utilisés INPUT 1 INPUT 2 OUTPUT Disk Main memory buffers Disk 47 Tri-fusion A chaque étape, on lit et on écrit une page dans le fichier N pages dans le fichier => nombre de passes Coût total: log 2 N 1 Idée: Divide and conquer: trier les sous-fichier et fusionner 2 N log N 1 2 3,4 6,2 9,4 8,7 5,6 3,1 2 3,4 2,6 4,9 7,8 5,6 1,3 2 2,3 4,6 2,3 4,4 6,7 8,9 4,7 8,9 1,2 2,3 3,4 4,5 6,6 7,8 9 1,3 5,6 2 1,2 3,5 6 Fichier d entrée PASS 0 1-page runs PASS 1 2-page runs PASS 2 4-page runs PASS 3 8-page runs 48 16

17 Tri-fusion général Plus de 3 buffers Pour trier N pages en utilisant B buffers: Pass 0: utiliser les B buffers. Produire N / Bblocs triés Pass 1,2,, etc.: fusionner les B-1 blocs. INPUT 1... INPUT 2 OUTPUT Disk INPUT B-1 B Main memory buffers Disk 49 Coût du tri-fusion général Nombre de passes: 1 log B 1 N / B Coût= 2N * (# Nombre de passes) Avec 5 buffers, pour trier un fichier de 108 pages: Pass 0: 108 / 5 = 22 sous-fichiers triés de 5 pages (le dernier sous-fichier n a que 3 pages) Pass 1: 22 / 4 = 6 sous-fichiers de 20 pages chacun (le dernier contient 8 pages seulement) Pass 2: 2 sous-fichiers, 80 pages et 28 pages Pass 3: un fichier trié de 108 pages 50 Principaux algorithmes de jointure Jointure sans index jointure par boucles imbriquées jointure par tri-fusion jointure par hachage Jointure avec index Avec un index : jointure par boucles indexée. Avec deux index : on fait comme si on avait un seul index 51 17

18 Jointures par boucles imbriquées S il n y a pas d index, on effectue un parcours séquentiel des blocs de la table R1, puis pour chaque n-uplet de R1, de R2. Ex: jointure dept et emp dans index dname deptno Compta 1 RH 2 Comparaison Création association Emp deptno Emp deptno Boucles imbriquées : Gestion de la mémoire Le maximum de mémoire est alloué à la table intérieure de la boucle imbriquée. Si la table intérieure tient en mémoire: une seule lecture des deux tables suffit. 53 Jointure par tri-fusion Plus efficace que les boucles imbriquées pour de grosses tables On trie les deux tables sur les colonnes de jointures On effectue la fusion C'est l opération de tri qui coûte cher Important : on ne peut obtenir de résultat tant que le tri n'est pas fini

19 Jointure par hachage le plus efficace dans le meilleur des cas Très rapide quand une des deux tables est petite (n fois la taille de la mémoire avec n petit, <3) Pas très robuste (efficacité dépend de plusieurs facteurs) Algorithme en option dans ORACLE. Il est indispensable d'avoir des statistiques pour optimiser (fonction de hachage, nombre de casier, taille des casiers, ) 55 Principe de la jointure par hachage Idée de base: On hache la plus petite des deux tables en n fragments. On hache la seconde table, avec la même fonction, en n autres fragments. On réunit les fragments par paire, et on fait la jointure. 56 Jointure avec index sur une table Avec un index, on utilise les boucles imbriquées indexées. On balaye la table non indexée Pour chaque ligne, on utilise l'attribut de jointure pour traverser l'index sur l'autre table. Avantages : Très efficace (un parcours, plus des recherches par adresse) Favorise le temps de réponse et le temps d'exécution 57 19

20 Deux tables indexées On pourrait penser à la solution suivante : Fusionner les deux index : on obtient des paires d'adresses Pour chaque paire, aller chercher la ligne A, la ligne B Problématique car beaucoup d'accès aléatoires (si mauvaise sélectivité, contre-performant d utiliser l index) En pratique : On se ramène à la jointure avec un index On prend la petite table comme table extérieure. 58 Résumé Qu'est-ce qu'un plan d'exécution? C'est un programme combinant des opérateurs physiques (chemins d'accès et traitements de données). Il a la forme d'un arbre : chaque noeud est un opérateur qui prend des données en entrée applique un traitement produit les données traitées en sortie 59 La phase d'optimisation proprement dite : Pour une requête, le système a le choix entre plusieurs plans d'exécution. Ils diffèrent par l'ordre des opérations, les algorithmes, les chemins d'accès. Pour chaque plan on peut estimer : le coût de chaque opération la taille du résultat Objectif : diminuer le plus vite possible la taille des données manipulées

21 Laisser le choix au système du plan d exécution Il y a autant de plans d'exécution que de sous-blocs dans une requête. Exemple: cherchons tous les produits dont le coût est inférieur à 500 commandé par Scott Tiger SELECT pname FROM produit P, commande R, Client C WHERE C.nom = 'Tiger' AND C.prenom= 'Scott' AND P.idProduit = R.idProduit AND R.idClient = C.idClient AND P.prix < 500; Pas d imbrication: un bloc => choix lancé au système 61 2 ème version (2 blocs) Un niveau d imbrication sans nécessité Moins d optimisations possibles SELECT pname FROM produit P, commande R WHERE P.idProduit = R.idProduit AND P.prix < 500 AND R.idClient IN ( SELECT C.idClient FROM client C WHERE C.nom = 'Tiger' AND C.prenom= 'Scott' ); 62 3 ème version (2 blocs) Utilisation de exists SELECT pname FROM produit P, commande R WHERE P.idProduit = R.idProduit AND P.prix < 500 AND EXISTS( SELECT C.idClient FROM client C WHERE C.nom = 'Tiger' AND C.prenom= 'Scott' AND C.idClient = R.idClient ); 63 21

22 4 ème version (3 blocs) 2 niveau d imbrications On force le plan d exécution: mauvaise solution SELECT pname FROM produit WHERE prix < 500 AND idproduit IN ( SELECT idproduit FROM commande WHERE idclient IN ( SELECT idclient FROM client WHERE nom = 'Tiger' AND prenom= 'Scott' ) ); On parcours tous les produits dont le prix est inférieur à 500 Pour chaque produit, on cherche les client ayant commandé le produit: pas d index disponible Ensuite pour chaque client on regarde si c est Scott Tiger 64 Optimiseur Oracle L optimiseur ORACLE suit une approche classique : Génération de plusieurs plans d exécution. Estimation du coût de chaque plan généré. Choix du meilleur et exécution. Tout ceci est automatique, mais il est possible d influer, voire de forcer le plan d exécution. 65 Estimation du coût d un plan d exécution Beaucoup de paramètres entrent dans l estimation du coût : Les chemins d accès disponibles. Les opérations physiques de traitement des résultats intermédiaires. Des statistiques sur les tables concernées (taille, sélectivité). Les statistiques sont calculées par appel explicite à l outil ANALYZE. Les ressources disponibles

23 Optimiseur basé sur des règles Oracle mode RULE Priorité des règles Rang Chemin d'accès 1 Sélection par ROWID 2 Sélection d'une ligne par jointure dans une organisation par index groupant ou hachage hétérogène (CLUSTER) 3 Sélection d'une ligne par hachage sur clé candidate (PRIMARY ou UNIQUE) 4 Sélection d'une ligne par clé candidate 5 Jointure par une organisation par index groupant ou hachage hétérogène (CLUSTER) 6 Sélection par égalité sur clé de hachage (HASH CLUSTER) 7 Sélection par égalité sur clé d'index groupant (CLUSTER) 8 Sélection par égalité sur clé composée 9 Sélection par égalité sur clé simple d'index secondaire 10 Sélection par intervalle borné sur clé indexée 11 Sélection par intervalle non borné sur clé indexée 12 Tri-fusion 13 MAX ou MIN d'une colonne indexée 14 ORDER BY sur colonne indexée 15 Balayage Paramètres optimiseur Principaux paramètres : OPTIMIZER_MODE (RULE, CHOOSE, FIRST_ROW, ALL_ROWS). SORT_AREA_SIZE (taille de la zone de tri). HASH_AREA_SIZE (taille de la zone de hachage). HASH_JOIN_ENABLED considère les jointures par hachage. 68 Création de statistiques Utiliser les fonctions de DBMS_STATS Calcul de la taille et du nombre de lignes : ANALYZE TABLE Film COMPUTE STATISTICS FOR TABLE; Analyse des index : ANALYZE TABLE Film COMPUTE STATISTICS FOR ALL INDEX; Analyse de la distribution des valeurs : ANALYSE TABLE Film COMPUTE STATISTICS FOR COLUMNS titre, genre; 69 23

24 Algorithme de jointure sous Oracle ORACLE peut utilise trois algorithmes de jointures : Boucles imbriquées quand il y a au moins un index. Opération NESTED LOOP. Tri/fusion quand il n y a pas d index. Opération SORT et MERGE. Jointure par hachage. Opération HASH JOIN 70 L outil EXPLAIN L outil EXPLAIN donne le plan d exécution d une requête. La description comprend : Le chemin d accès utilisé. Les opérations physiques (tri, fusion, intersection,...). L ordre des opérations. Il est représentable par un arbre. 71 EXPLAIN: exemple EXPLAIN PLAN SET STATEMENT_ID= SelSansInd FOR SELECT * FROM Produit WHERE prix = 500; Le résultat de EXPLAIN : 0 SELECT STATEMENT 1 TABLE ACCESS FULL PRODUIT 72 24

25 EXPLAIN: exemple EXPLAIN PLAN SET STATEMENT_ID= SelInd FOR SELECT * FROM Produit WHERE idproduit = 15; Le résultat de EXPLAIN : 0 SELECT STATEMENT 1 TABLE ACCESS BY ROWID PRODUIT 2 INDEX UNIQUE SCAN IDX- PRODUIT-ID 73 EXPLAIN: exemple EXPLAIN PLAN SET STATEMENT_ID= JoinSelIndex FOR SELECT R.idProduit FROM Client C, Commande R WHERE R.idClient = C.idClient AND nom = Scott ; Le résultat de EXPLAIN : 0 SELECT STATEMENT 1 NESTED LOOPS 2 TABLE ACCESS BY ROWID CLIENT 3 INDEX RANGE SCAN IDX-NOM 4 TABLE ACCESS BY ROWID COMMANDE 5 INDEX RANGE SCAN IDX-COMMANDE 74 Analyse des coûts Avec l utilitaire TKPROF, on obtient : Le coût CPU Le nombre d entrées/sorties physiques Le nombre d entrées/sorties en mémoire Le nombre de tris 75 25

Évaluation et optimisation de requêtes

Évaluation et optimisation de requêtes Évaluation et optimisation de requêtes Serge Abiteboul à partir de tranparents de Philippe Rigaux, Dauphine INRIA Saclay April 3, 2008 Serge (INRIA Saclay) Évaluation et optimisation de requêtes April

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

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

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes) Avant-propos 1. Lectorat 11 2. Pré-requis 12 3. Objectifs 12 4. Environnement technique 13 Choisir la bonne architecture matérielle 1. Introduction 15 2. Architecture disque 16 2.1 La problématique de

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

INTRODUCTION AU DATA MINING

INTRODUCTION AU DATA MINING INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre

Plus en détail

La présente publication est protégée par les droits d auteur. Tous droits réservés.

La présente publication est protégée par les droits d auteur. Tous droits réservés. Editeur (Medieninhaber/Verleger) : Markus Winand Maderspergerstasse 1-3/9/11 1160 Wien AUSTRIA Copyright 2013 Markus Winand La présente publication est protégée par les droits d auteur.

Plus en détail

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

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier ENSTA Mastère Spécialisé en Architecture des Systèmes d Information Cours C1-3 Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier Partie II : les SGBD vus du coté Administrateur

Plus en détail

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

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

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

Bases de données réparties: Fragmentation et allocation Pourquoi une base de données distribuée? Bibliographie Patrick Valduriez, S. Ceri, Guiseppe Delagatti Bases de données réparties: Fragmentation et allocation 1 - Introduction inventés à la fin des années

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Administration de Bases de Données : Optimisation

Administration de Bases de Données : Optimisation Administration de Bases de Données : Optimisation FIP 2 année Exercices CNAM Paris Nicolas.Travers(at) cnam.fr Table des matières 1 Stockagedans unsgbd 3 1.1 Stockage.............................................

Plus en détail

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

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations

Plus en détail

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

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

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

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

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

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

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

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Du 10 Fév. au 14 Mars 2014

Du 10 Fév. au 14 Mars 2014 Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

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

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 Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

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

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/88 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

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

INEX. Informatique en Nuage : Expérimentations et Vérification. Livrable n M1 PARALLÉLISME ET ÉVALUATION INEX Informatique en Nuage : Expérimentations et Vérification Livrable n M1 PARALLÉLISME ET ÉVALUATION DE PERFORMANCES DES JOINTURES ET SEMI-JOINTURES SUR DES ARCHITECTURES CLOUD Abdeljallil Abajjane Septembre

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

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

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

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

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

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

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

Cours 4. Gestion de la performance. DBA - Maîtrise ASR - Université Evry

Cours 4. Gestion de la performance. DBA - Maîtrise ASR - Université Evry Cours 4 Gestion de la performance 1 Performance? De quelles performance parle-t on? Quels sont les éléments actifs et quels sont leurs rôles respectifs? Quels sont les mesures de performance significatives

Plus en détail

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données IFT3030 Base de données Chapitre 2 Architecture d une base de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées

Plus en détail

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements Introduction aux bases de données Université de Nice Sophia-Antipolis Version 2.1-5/12/2000 Richard Grin Généralités sur les bases de données R. Grin SGBD 2 Définitions Une base de données est un ensemble

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du

Plus en détail

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

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

Administration des bases de données relationnelles Part I

Administration des bases de données relationnelles Part I Administration des bases de données relationnelles Part I L administration des bases de données requiert une bonne connaissance - de l organisation et du fonctionnement interne du SGBDR : structures logiques

Plus en détail

Cours: Les Jointures 1

Cours: Les Jointures 1 Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2

Plus en détail

Techniques d optimisation des requêtes dans les data warehouses

Techniques d optimisation des requêtes dans les data warehouses Techniques d optimisation des requêtes dans les data warehouses Ladjel Bellatreche LISI/ENSMA Téléport2-1, Avenue Clément Ader 86960 Futuroscope - FRANCE bellatreche@ensma.fr Résumé Un entrepôt de données

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Plan d Exécution Graphique pour des Requêtes SQL Simples

Plan d Exécution Graphique pour des Requêtes SQL Simples Plan d Exécution Graphique pour des Requêtes SQL Simples Cet article est paru initialement le 16 décembre 2008 sur le magazine en ligne Simple-Talk http://www.simpletalk.com/sql/performance/graphical-execution-plans-for-simple-sql-queries/

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES SGBD / Aide à la décision CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES Réf: KAO Durée : 15 jours (7 heures) OBJECTIFS DE LA FORMATION Ce cycle complet vous apportera les connaissances nécessaires pour

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

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

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 TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

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

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

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

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/210 Bases de Données Avancées Optimisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Optimisation de MySQL

Optimisation de MySQL Olivier DASINI Optimisation de MySQL http://dasini.net/blog/ 1 Votre conférencier Olivier DASINI Formateur certifié MySQL Consultant technologies Open Sources olivier@dasini.net 2 Au programme... Introduction

Plus en détail

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

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

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

Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr Chapitre 1 1. Introduction : Notion de Bases

Plus en détail

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

Session S12 Les bases de l optimisation SQL avec DB2 for i Session S12 Les bases de l optimisation SQL avec DB2 for i C. GRIERE cgriere@fr.ibm.com STG Lab Services IBM i Avril 2012 Les fleurs et les requêtes SQL Lorsque l on veut planter de nouvelles fleurs dans

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

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

INTRODUCTION : Données structurées et accès simplifié INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration

Plus en détail

Description de SQL SERVER. historique

Description de SQL SERVER. historique Description de SQL SERVER SQLServer est un SGBDR qui accepte et traite des requêtes concurrentes provenant de divers clients. Il envoie les réponses aux clients concernés via des API (Application Programming

Plus en détail

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228 Intro Modèle Algèbre SQL Stockage Intro Modèle Algèbre SQL Stockage Plan du cours Les Bases de Données Rattrapages École Centrale de Paris Nicolas Travers Équipe Vertigo Laboratoire CEDRIC Conservatoire

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

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

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK Oracle Décisionnel : Modèle OLAP et Vue matérialisée SOMMAIRE Introduction Le modèle en étoiles Requêtes OLAP Vue matérialisée Fonctions Roll up et Cube Application Introduction Data Warehouse Moteur OLAP

Plus en détail

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

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

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

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

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

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques Plan de formation : Certification OCA Oracle 11g Description Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques industriels les plus avancés. Cette formation permettra

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Parallel Execution. IS-Net 29 DATA WEBHOUSE. Informatique de gestion et systèmes d information

Parallel Execution. IS-Net 29 DATA WEBHOUSE. Informatique de gestion et systèmes d information Informatique de gestion et systèmes d information Parallel Execution LIBD@hegne.ch / Mars 2001 ISNet29_parallel_execution.doc TABLE DES MATIERES 1 Introduction... 3 2 Les architectures parallèles... 3

Plus en détail

- ORS - Optimisation de Requêtes SQL sous Oracle

- ORS - Optimisation de Requêtes SQL sous Oracle - ORS - Optimisation de Requêtes SQL sous Oracle G. Mopolo-Moké prof. MS BDP CERAM SOPHIA ANTIPOLIS 2005 / 2006 1 Plan Général 1. Introduction 2. Etapes d optimisations 3. Méthodes d'accès 4. Chemins d'accès

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Les bases de l optimisation SQL avec DB2 for i

Les bases de l optimisation SQL avec DB2 for i Les bases de l optimisation SQL avec DB2 for i Christian GRIERE cgriere@fr.ibm.com Common Romandie 3 mai 2011 Les fleurs et les requêtes Lorsque l on veut planter de nouvelles fleurs dans un jardin il

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail