Génération de code SQL avec le SQL

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

Download "Génération de code SQL avec le SQL"

Transcription

1 1

2 2

3 3

4 Génération de code SQL avec le SQL La requête ci-dessus montre comment générer un script de sauvegarde logique avec SQL*Plus. Les chaînes de caractères sont concaténées avec l opérateur. Les métas caractères comme la simple côte sont imprimés littéralement lorsque l on double le caractère générique. 4

5 Le résultat est affiché ci-dessus. La notation q c texte à encadrer c (c pouvant être n importe quel caractère alpha) permet d extraire les colonnes de la tables qui contiennent des caractères 5

6 Astuces diverses Il est souvent utile de générer des volumes importants dans la base afin de vérifier les temps de réponse des requêtes SQL. L insertion récursive d une table sur ellemême permet de créer rapidement un nombre de lignes important. L exemple cidessus fonctionne s il n y a pas de contrainte d unicité sur la table BIG_EMP. 6

7 Extension de l ordre GROUP BY ROLLUP permet de calculer plusieurs niveaux de sous totaux dans un groupe donné de dimensions. Il calcule également un grand total. ROLLUP est une simple extension de la clause GROUP BY, sa syntaxe est extrêmement facile à utiliser. L'extension ROLLUP est très efficace, la surcharge est minime pour une requête données. CUBE regroupe un ensemble spécifié de colonnes et crée des sous totaux pour l'ensemble de toutes les combinaisons possibles. En termes d'analyse multidimensionnelle, CUBE génère tous les sous totaux qui pourraient être calculés pour un cube de données avec les dimensions spécifiées. Si vous avez spécifié CUBE (temps, région, département), le jeu de résultats comprendra toutes les valeurs qui seraient incluses dans une expression ROLLUP équivalente avec des combinaisons supplémentaires. Pour plus d information consulter «Oracle Database Data Warehousing Guide» 7

8 Vues relationnelles L exemple de la diapositive montre comment masquer la complexité d une requête d agrégation utilisant l extension ROLLUP de la clause GROUP BY. La vue peut être utilisée simplement et il est également possible de filtrer sa sortie avec une clause WHERE. Par exemple il est possible d afficher seulement les totaux de la manière suivante : SQL> select * from Salaires_par_departements where "Type Emploi" like 'Total%' ; 8

9 9

10 Vues matérialisées Les vues matérialisées sont des résultats pré calculés de requête SQL qui sont stockés au préalable dans la base de données. Les ordres SQL qui doivent effectuer des calculs assez long peuvent bénéficier de ces résultats en les récupérant sans être obligés de parcourir toute la base de données. les vues matérialisées sont identiques aux tables (en partition ou pas) et se comportent comme des index, elles sont utilisées de manière transparente (Query Rewrite) afin d'améliorer les performances. 10

11 Syntaxe: materialized view voir le manuel «SQL Reference» et «Warehouse Guide» 11

12 12

13 Concepts Oracle fournit un certain nombre d outils pour effectuer les opérations d alimentation et de déchargement des bases de données. Parmi ces produits on compte Oracle Data Integrator anciennement sunopsis acheté par Oracle pour enrichir sa famille de produits d'intégration, il fait partie de la suite: Oracle Fusion Middleware et Oracle Warehouse Builder (OWB). OWB est l outil ETL pour Extract, Transform, Load initialement développé par Oracle en langage JAVA. C est un outil de développement qui permet de concevoir principalement des procédures de traitement écrites en langage SQL, PL/SQL et SQL*Loader pour les chargements. Avant d utiliser Warehouse Builder il est utile de comprendre le principe de fonctionnement et d utilisation des programmes sous jacents que génère l outil ETL. Comme son nom l indique OWB est l outil consacré pour la création de base de données d aide à la décision ou d infocentre que l on nomme communément «Data Warehouse». Les structures logiques de ce type de base de données sont organisées en étoile ou en flocons de neige. On parle en général de «cubes» ou de «star schéma». Ces concepts vont être présentés à la fin de ce chapitre. 13

14 Extractions et Chargements basiques SQL*Plus est l utilitaire basique que l on utilise pour lancer des ordres SQL avec Oracle Database. Cet outil permet également de produire des états et de sauvegarder les résultats vers des fichiers plats. Il est tout à fait possible de décharger des données de type texte avec cet outil en utilisant l option «spool» tout en formatant la sortie de telle sorte que l on ai que les données brutes dans le fichier résultant. La puissance du langage SQL vous permet ainsi d effectuer toutes les transformations nécessaires avec l ordre SELECT lors de l extraction des données vers le fichier plat. L opération inverse peut être effectuée avec l utilitaire SQL*Loader qui prend les directives de chargement à partir d un fichier de contrôle. La documentation complète de cet outil se trouve dans le manuel «Utilities» que l on peut télécharger sur le site Ce principe simple d extraction et de chargement fonctionne sur tous les environnements qui supportent Oracle Database. OWB vous permet de concevoir des programmes similaires avec une interface de conception beaucoup plus conviviale. Le chargement de fichiers plats avec l utilitaire SQL*Loader peut être conçu avec Warehouse Builder. 14

15 Combinaisons avec les outils du système d exploitation Dans certaines circonstances, il est parfois utile de combiner les utilitaires d Oracle avec les outils du système d exploitation. Par exemple, si vous désirez utiliser des logiciels que l on ne peut interfacer directement avec le serveur Oracle, vous pouvez encapsuler des ordres SQL ou PL/SQL dans des scripts «shell» d Unix afin que ceux-ci puissent être appelés par un logiciel d ordonnancement propriétaire comme l illustre la figure ci-dessus. Il arrive dans certains cas que l on utilise cette technique pour appeler les procédures stockées qui ont été conçues avec OWB. 15

16 Déchargement des données dans un fichier plat La diapositive ci-dessus vous montre la syntaxe de SQL*Plus qui permet de produire des données brutes dans un fichier de sortie de type texte. OWB permet également d extraire les informations de la base de données dans des fichiers plats. Cependant, l outil ne fait pas appel à SQL*Plus. 16

17 Chargement de données à partir de fichiers plats L outil SQL*Loader permet le chargement de données externes dans les tables d une base. L utilitaire fonctionne avec un moteur d analyse syntaxique d un langage de directives de chargement qui lui est propre. Ce langage est assez puissant, il permet d effectuer des conversions de type et d exécuter des règles de transformation de données. Les directives sont définies dans un fichier de contrôle qui est lu en entrée avec le fichier de données. En sortie, SQL*Loader écrit les données transformées dans la base de données cible et produit trois fichiers de compte rendu d exécution : un fichier journal du traitement, un fichier des erreurs d exécution et un fichier des enregistrements rejetés. L outil offre de nombreuses possibilités pour optimiser les chargements, notamment le mode DIRECT LOAD. Les données sont stockées directement dans les DATAFILES de la base sans passer par les instructions INSERT du moteur SQL. Ce mode de chargement est beaucoup plus rapide que le mode traditionnel qui utilise le moteur SQL. Il est adapté lorsque l on a à alimenter rapidement une base DATA WAREHOUSE. Warehouse Builder est très pratique pour créer des scripts de chargements SQL*Loader. Un assistant de modélisation de la structure des fichiers plats vous permet de gagner en productivité pendant la phase d import des données métas dans le dictionnaire OWB. 17

18 Utilisation de SQL*Loader Oracle fournit plusieurs étude de cas d utilisation de l outil dans le répertoire $ORACLE_HOME/rdbms/demo. L une d elles est décrite ci-dessus. Il s agit d un chargement simple de la table EMP. Les directives sont définies dans le fichier de contrôle utlcase2.ctl. Les enregistrements rejetés sont produits dans le fichier utlcase2_rejets.dis et le fichier journal est utlcase2.log. L exécution est assurée par la commande SQLLDR. L outil est documenté dans le manuel «Utilities». Cette documentation est un complément précieux lorsque l on utilise l utilitaire de modélisation de fichiers plats de Warehouse Builder. 18

19 Création de fichiers de commandes pour SQL*Loader Warehouse Builder est l outil le plus approprié pour créer rapidement et facilement des fichiers de directives de chargement pour SQL*Loader. Cependant, lorsque les besoins ne nécessitent pas de créer des procédures de chargement sophistiquées, vous pouvez créer vous même des fichiers de contrôle simples manuellement ou en développant de petits utilitaires en SQL comme l illustre l exemple ci-dessus. 19

20 Concept des tables externes Le dispositif des Tables Externes est un complément de la fonctionnalité de chargement SQL*Loader. Il permet d accéder à des informations externes comme si elles étaient stockées dans des tables de la base de données. Avant la version d'oracle 10g, les tables externes étaient inaltérables. A partir de cette version les tables externes sont maintenant en lecture/écriture. Notez que SQL*Loader reste le meilleur choix dans les situations de chargement de données qui exigent l'indexation additionnelle de la table tampon. Pour utiliser les tables externes, vous devez avoir connaissance du format de fichier et des enregistrements sur votre plate-forme si vous utilisez le driver d accès ORACLE_LOADER pour charger du texte. 20

21 Création de tables externes Les Tables Externes sont créés en utilisant l ordre SQL CREATE TABLE...ORGANIZATION EXTERNAL. Lorsque vous créez une table externe, vous devez spécifier les attributs suivants: TYPE indique le type de table externe. Les deux types disponibles sont ORACLE_LOADER et ORACLE_DATAPUMP. Chaque type est associé à sont propre driver. Le driver d accès ORACLE_LOADER est utilisé par défaut. Il permet seulement d effectuer des chargements, les informations source doivent normalement provenir de fichiers textes. Le driver d accès ORACLE_DATAPUMP peut effectuer soit des chargements soit des déchargements. Les données proviennent de fichiers binaires. DEFAULT DIRECTORY Défini la destination par défaut des fichiers qui sont lus ou écrits. L emplacement est un répertoire logique qui est associé à un répertoire physique du système de fichiers de la machine. ACCESS PARAMETERS décrit la source des données avec les spécificités associées au driver d accès. LOCATION spécifie l emplacement et les noms des fichiers de destination. Si l emplacement n est pas indiqué, c est le répertoire par défaut qui est utilisé. 21

22 La diapositive ci-dessus montre différents principes et techniques de duplication et de transformation que l on peut effectuer avec le langage SQL. Ce sont ces principes qui sont largement mis en application avec «Warehouse Builder». 22

23 L instruction SQL MERGE est apparue en version 9i. Elle a été typiquement conçue pour résoudre certaines problématiques de l alimentation des bases de données de type Data Warehouse, en particulier pour gérer les multiples chargements potentiels d informations identiques dans une même base de données. MERGE combine les ordres INSERT et UPDATE en se basant soit sur une contrainte d unicité et/ou sur une condition de la requête d interrogation SELECT. La syntaxe de l instruction MERGE peut s avérer relativement complexe et fastidieuse. L utilisation d OWB permet notamment de simplifier largement la production et l écriture d ordre SQL MERGE et par conséquent de gagner un temps précieux. 23

24 DML Error Logging Lorsque l on exécute une instruction DML Data Manipulation Language : INSERT, UPDATE, DELETE sur un nombre important d enregistrements, une erreur d exécution, par exemple, la violation d une contrainte d intégrité, peut provoquer l annulation complète de toutes les opérations concernées par la requête SQL DML. Il peut être dommage d avoir à relancer un traitement qui peut mettre plusieurs minutes à s exécuter, surtout si l erreur survient lorsqu il était sur le point de se terminer. Il est possible de résoudre ce type de problème avec une procédure stockée écrite en PL/SQL qui traitera les enregistrements un par un avec un contrôle d erreur approprié. Cependant, les performances d exécution de ce type de procédure sont nettement moins bonnes que celles du traitement des enregistrements en une seule passe. La version 10g offre la possibilité de recueillir les enregistrements en erreur dans une table spéciale et de permettre ainsi au traitement de continuer. Pour mettre en œuvre cette fonctionnalité il faut créer la table des erreurs avec la procédure DBMS_ERRLOG.CREATE_ERROR_LOG et de compléter l ordre SQL avec la clause LOG ERRORS INTO comme le montre la diapositive ci-dessus. 24

25 Le transfert des informations d une base de données vers une autre peut se faire par l intermédiaire de fichiers plats. C est en général la méthode qui est utilisée, notamment lorsque l on affaire à un environnement hétérogène. Cependant, il est possible de transférer les données directement de base à base, en particulier, si la base source est compatible avec la base cible. C est bien sur le cas quand la source et la cible sont des bases Oracle, cela peut être également le cas si l on utilise l interface «heterogenous services» ou le module «Oracle Transparent Gateway». Le transfert des données de base à base s appuie sur un lien inter bases que l on nomme «database link». La diapositive ci-dessus illustre la mise en œuvre des liens inter base. 25

26 26

27 Partitionnement Le partitionnement permet de découper une table et/ou un index sur 1 ou plusieurs critères logiques. La table se comporte alors comme plusieurs tables de tailles plus petites. Les avantages principaux du partitionnement sont : De pouvoir définir des critères de stockage différents pour chacune des partitions. Par exemple, chaque partition peut être créé sur un «Tablespace» indépendant afin d opérer une répartition équitable des entrées/sorties ou bien d obtenir une granularité plus fine concernant les fichiers à sauvegarder ou à restaurer. Le découpage logique de la table permet un accès plus rapide aux informations (moins de lectures disques physiques à effectuer en particulier). Le moteur SQL prend en charge le critère de partitionnement et optimise l accès aux données en éliminant automatiquement les partitions («partition pruning») qui ne sont pas concernées par la requête SQL SELECT. Oracle propose 3 grands types de partitionnements : by range : on définit les partitions par tranche supérieure exclusive. Le critère de partition est en général une date. Exemple: PARTITION P1 VALUES LESS THAN (TO_DATE('01/03/2008','dd/mm/yyyy') by list : on définit une valeur par partition (utilisé lorsque la liste de valeur pour le champ considéré est faible) by hash : la partition de stockage est calculée dynamiquement par un calcul de type hash code (basé sur la fonction modulo du critère de partition choisi), cela permet de répartir équitablement les données sur les différentes partitions. Ce type de partitionnement est vraiment efficace lorsque la volumétrie est très importante. 27

28 Range Partitionning C est le type de partitionnement le plus utilisé et le plus ancien. La diapositive ci-dessus montre un aperçu de la syntaxe. La clé de partition dans cet exemple est le champ CDATE de type DATE. Les informations sont automatiquement rangées dans la partition correspondant à la date en cours car elle est générée automatiquement via la fonction SYSDATE qui est la valeur par défaut du champ CDATE. Dans le cas où l on insert une information avec une date au-delà du 1 février 2012, l instruction SQL devrait être en erreur. Pour éliminer cet inconvénient il convient d ajouter une partition avec la clé MAXVALUE comme le montre l exemple ci-dessous. ALTER TABLE F_PROXY_SC_5 ADD PARTITION "PDEFAULT" VALUES LESS THAN (MAXVALUE) TABLESPACE STAT_DATA; 28

29 Il existe 2 façons de partitionner un index sous Oracle : locally partitioned index : pour chaque partition de table créée, il y aura une (et une seule) partition d'index. Les données dans chaque partition d'index pointent sur l'ensemble des données d'une et unique partition de table. Logiquement, si la table a N partitions, l'index aura également N partitions globally partitioned index : l'index est partitionné indépendamment de la table. Une partition d'index peut pointer sur des données dans une ou plusieurs partitions de table. Un index globalement partitionné ne peut être que partitionné by range. Les index sur des tables partitionnées sont, par défaut, des index globaux sur une seule partition (en effet, par défaut, ils ne sont pas partitionnés). Partitionnement composite C'est une méthode de partitionnement hybride. Les données sont d'abord partitionnées by range (et également by list aujourd hui). Ensuite, chaque partition sera sous partitionnée soit by hash ou by list (et maintenant by range). Il n'est pas nécessaire d'avoir exactement le même nombre de sous partitions par partition : par exemple, une partition peut être constituée de 4 sous partitions alors qu'une autre sera composée de 5 sous partitions. Le mécanisme de découpage logique peut être étendu sur plusieurs champs, ainsi que sur 2 niveaux. On parle dans ce cas de sous partitionnement. 29

30 Composite range range partitioning Il est maintenant possible d effectuer un partitionnement par intervalle à deux niveaux sans faire appel à une clé composée de partition. Par exemple, partitionner par date de commande au premier niveau puis par date de livraison pour le sous-partitionnement. La version 11g supporte également le partitionnement composite avec le type «list» en premier niveau. Composite list-range partitioning Permet le partitionnement par intervalle au sein d une même liste de partitions. Par exemple, le partitionnement par mois sur une liste de régions définie. 30

31 OWB facilite la création des tables et index en partitions, la syntaxe étant toujours assez complexe à écrire manuellement. Syntaxe: list-range partitioning voir le manuel «SQL Reference» 31

32 Avantages du partitionnement Optimisation Pour les tables dépassant une certaine taille (plusieurs gigas), le partitionnement permet de distribuer les informations de manière plus efficace en fonction des critères de recherche et de la clé de partitionnement. Cela permet d éliminer certain goulet d étranglement en limitant les conflits d accès simultanés aux mêmes blocs de données et éliminant ainsi les problèmes de verrouillage. L accès aux tables organisées en partition met à profit le «partition pruning» qui consiste à interroger uniquement les partitions concernées en fonction du critère de recherche et de partitionnement. VLDB Dans le cadre des «Very Large Database» le partitionnement est presque incontournable. Lorsque les tables de fait ainsi que les dimensions dépassent en taille plusieurs gigas octets, il convient d utiliser le «Range Partitioning» afin de répartir les informations selon un critère de temps. Cela fait partie des bonnes pratiques, consulter à ce sujet la documentation «Data Warehouse Guide.» Résolution de problème de performances Dans bien des cas, quand la volumétrie des tables augmente considérablement et génère des problèmes de performance sur une base en exploitation, la transformation des tables en partitions peut être une méthode de résolution pour améliorer les temps de réponse. Le package PL/SQL DBMS_REDEFINITION permet de transformer les tables en partition sans avoir à générer de coupure de service pour les bases en production. Ce package est documenté dans le manuel «PL/SQL Packages and Types Reference.» 32

33 33

34 34

35 Démarche d optimisation Durée - doit être évoquée dés le début du projet, et doit être utilisée pendant toute sa durée. Objectifs - Etablir des objectifs quantifiables en éliminant les objectifs flous. Doivent permettre de définir des objectifs acceptés et approuvés par tous les intervenants. Contrôles - Les résultats doivent être contrôlés et communiqués régulièrement. Ces résultats doivent être comparés aux objectifs. Des dérives peuvent amener à corriger les objectifs. Coût du tuning Plus les problèmes de performances sont réglés tardivement et plus leur coût peut être élevé. 35

36 Gain pouvant être obtenus Il est important de ne pas perdre de vue certains principes en matière de performances et d optimisation des bases de données Oracle : En premier lieu, il est nécessaire de définir ce que l on cherche et de bien poser le problème. L objectif premier est de détecter les points de contention et les éventuels goulets d étranglement. En général, les gains qui peuvent être obtenu pour résoudre des problèmes de performance sont répartis de la manière suivante : - Optimisation du code SQL et des structures logiques 65 % - Réglage des structures physiques, répartition des entrées/sorties 20 % - Réglage de l instance et du moteur SGBD 10 % - Optimisation du système d exploitation 5 % 36

37 Étapes d optimisation La diapositive ci-dessus montre les étapes principales d une démarche d optimisation. Ces étapes doivent être franchies dans l ordre énoncé. Le résultat en terme de performances de chacune des étapes dépend du résultat des étapes précédentes. Des décisions prises dans une étape influenceront les actions des étapes suivantes. On distingue deux parties en terme d optimisation. Celle de l application et celle qui concerne l instance, la base de données et le système d exploitation. La première partie est la plus importante car on peut espérer dans certains cas, améliorer à plus de 60% les temps de réponse de l ensemble. Les bénéfices les plus importants sont tirés du réglage des requêtes SQL. En général, les problèmes de temps de réponse dans un bloc PL/SQL sont principalement dus à la lenteur d exécution des ordres SQL qu il contient. Les ordres SQL eux même sont difficiles à améliorer si le schéma relationnel est mal conçu. Cela dépend souvent d un modèle conceptuel qui a été négligé ou est absent. La deuxième partie des étapes de réglage dépendent largement de la phase d optimisation de l application. Les réglages de la mémoire sont souvent moins importants voir illusoire que ce que l on peut faire pour optimiser le «entrées/sorties.» 37

38 38

39 Curseurs : Architecture d exécution Pour soumettre des instructions SQL à une base de données Oracle, une session doit être établie entre le programme utilisateur (client) et le serveur de base de données. Le programme utilisateur peut être par exemple SQL*Plus, ou une application développée à l'aide d'un outil, tel qu'oracle Forms. Cette application ou cet outil est exécuté en tant que processus utilisateur. Lorsque la session est établie, les ordres SQL peuvent être exécuté. Le contexte d exécution d ordre SQL se nomme un curseur. 39

40 Comment les ordres SQL sont ils traités et exécutés par le noyau Oracle Le processus serveur alloue un espace de mémoire privé nommé context area afin de traiter les ordres SQL. La commande SQL est alors interprétée syntaxiquement et sémantiquement (parsing) puis exécutée (execute) dans ce contexe area. Les informations nécessaires à l exécution ainsi que les données récupérées (fetch) après le traitement sont stockées dans cet espace. Cet espace d exécution est géré de manière interne par le processus serveur et le programme utilisateur n y a pas de contrôle direct. Un curseur est donc un pointeur vers le context area. Traitement d un ordre SQL 1. Création du curseur. Le «context area» ou «private SQL area» est d abord alloué indépendamment de tout ordre SQL. Il est créé pour maintenir le contexte d exécution d un ordre SQL. Dans la plupart des cas, la création du curseur est automatique, cependant, en programmation avec des langages pré compilés, il est possible de déclarer explicitement un curseur. 2. Analyse de l ordre SQL (Parsing). L ordre SQL est envoyé par le programme client et le processus serveur effectue les opérations suivantes : - L ordre est analysé syntaxiquement et sémantiquement en vérifiant la définition des tables et des colonnes concernées dans le dictionnaire de la base de données («hard parse»). - Les droits d accès sont également contrôlés. Ces opérations donnent lieu à des requêtes SQL sous jacentes pour interroger le dictionnaire appelées : «recursive call». - Le plan d exécution («explain plan») est calculé pour déterminer le chemin d accès aux informations le plus rapide. - L ensemble est ensuite chargé dans l espace SQL partagé («shared SQL area») 40

41 Oracle exécute le «parsing» seulement s il n y a pas d ordre SQL similaire dans l espace SQL partagé (SQL Area). Dans le cas contraire, l ordre SQL peut être directement exécuté ce qui permet d optimiser («soft parse») le temps d exécution pour un ordre SQL régulièrement utilisé. Les requêtes d interrogation (SELECT notamment) sont différentes des autres ordres SQL car elles retournent un certain nombre de résultats sous forme de lignes au programme utilisateur. 3. Décrire le type de résultats de la requête. Cette étape est nécessaire lorsque le type de résultat n est pas connu à l avance. Par exemple, si les ordres SQL sont saisis en mode interactif comme avec SQL*Plus par exemple. La phase «Describe» consiste à déterminer les caractéristiques (types, longueur et nom) des résultats requis par l ordre SQL. 4. Définition des structures de réception des résultats (Define). Cette phase permet de définir l emplacement, les tailles et le type des variables de réception des informations recueillies (Fetch) par la requête SQL. 5. Relier les variables utilisateur (Bind Variables) à la requête. Lorsque les valeurs pour la clause WHERE sont passées via des variables «hôtes» du programme utilisateur, il est nécessaire d indiquer leurs adresses au serveur Oracle. 6. Exécuter l ordre SQL (Execute). A ce niveau Oracle dispose de toutes les informations pour exécuter l ordre SQL. Pour l exécution des ordres UPDATE et/ou DELETE, des verrous sont implicitement posés sur les lignes concernées par la requête SQL. Ces verrous seront libérés par les ordres de contrôle COMMIT, ROLLBACK ou SAVEPOINT. 7. Fetch. C est la phase ou les lignes des tables sont récupérées et éventuellement triées pour les envoyer au programme utilisateur. Elles sont transmises soit une par une, soit en paquet en fonction de la taille du Buffer de réception (Array Fetch) du programme client. 8. Close. L étape finale est la fermeture du curseur 41

42 Optimisation SQL : Plan d exécution L art d optimiser un ordre SQL passe par l affichage du plan d exécution afin d évaluer le chemin de recherche des informations dans la base de données. 42

43 Optimisation heuristique La génération du plan d'exécution est basée sur un ensemble de règles heuristiques définissant un score prédéterminé des méthodes d'accès. Il est possible que la structure de la requête influe sur le plan lorsque plusieurs méthodes ont le même score. L'optimiseur heuristique, basé sur une quinzaine de règles d optimisation, est appelé "Rule Based Optimizer" ou RBO. Les caractéristiques des données et la distribution des tables et index n'affectent pas le plan d'exécution. Les heuristiques peuvent s'avérer mal adaptées au contexte : cela entraîne souvent une génération d'un plan non optimal. Optimisation statistique L'optimisation statistique repose sur un modèle de coût et la connaissance de statistiques sur les objets manipulés. Génération de tous les plans possibles puis sélection du moins cher. Utilisation d'heuristiques pour réduire l'espace de recherche. Possibilité de spécifier des HINT pour privilégier une stratégie. L'optimiseur statistique est appelé "Cost Based Optimizer" ou CBO 43

44 Scores prédéfinis du Rule Based Optimizer La diapositive ci-dessus montre les 15 règles prédéfinies utilisée par l optimisation RBO. Le temps d accès aux données est proportionnel au rang du score. 44

45 RBO Versus CBO Le noyau Oracle intègre les deux moteurs d optimisation. Le moteur RBO traditionnel, basé sur les règles, est obsolète et ne sera plus supporté à terme. Cela implique qu il est fondamental d optimiser le code SQL en prenant en compte les résultats obtenus par le moteur CBO. 45

46 Collecte automatique des informations statistiques Le moteur Oracle à partir de la version 10g, collecte automatiquement des informations statistiques destinées à l optimisation des requêtes SQL et aux mesures de performance. Il y a deux types de statistiques : Les statistiques associées aux segments de la base (Tables et Index) qui permettent au moteur de base de données de déterminer le meilleur Plan d Exécution pour optimiser les temps de réponse des ordres SQL. Par exemple, le nombre de lignes (num_rows), le nombre de blocs (blocks) et la longueur moyenne d un enregistrement (avg_row_len) d une table de la base de données font partie des statistiques que le moteur d optimisation SQL peut exploiter pour améliorer les performances. Les informations statistiques de comportement de l instance de base de données sont collectées régulièrement (toutes les heures par défaut) et ces clichés sont stockés dans le référentiel de charge de travail AWR (Automatic Workload Repository). Ces clichés sont exploités par le moteur d analyse ADDM (Automatic Diagnostic Database Monitor) pour établir des diagnostics et des mesures de performance par comparaison. 46

47 Démarche d optimisation du code SQL Vous pouvez suivre la démarche présentée ci-dessus pour optimiser le code SQL. L idée est de tirer parti au maximum du moteur d optimisation CBO. Bien sûr, cette démarche part du principe que le modèle de données est propre et cohérent. Dans un premier temps, vous pouvez mettre au point le code SQL à part avant de l intégrer dans les blocs PL/SQL, avec SQL*Plus par exemple. Il est important de tester les requêtes sur des volumétries réalistes par rapport à ce qu il y aura en production. Une erreur classique est de coder du SQL sur une base vide, cela résulte souvent sur des problèmes de performances quelques temps après la mise en exploitation. Pour les requêtes complexes où la distribution des informations est difficile à déterminer pour le CBO, vous pouvez utiliser des HINTs. Ils permettent de privilégier une stratégie de recherche, cependant, il ne faut pas tomber dans l excès inverse en utilisant les indicateurs dans tous les cas de figure. Bien souvent, le moteur CBO détermine le meilleurs plan d exécution possible en fonction du schéma et de l architecture en place. Si malgré tout, les temps de réponses restent mauvais, il faut peut être remettre en question le modèle de données ou utiliser des techniques et astuces comme le partitionnement, la dénormalisation, etc La figure ci-dessus vous donne également la syntaxe pour le calcul des statistiques exploitées par le moteur d optimisation CBO. 47

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

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

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

//////////////////////////////////////////////////////////////////// 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

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

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

Oracle Database 11g: Administration Workshop I Release 2

Oracle Database 11g: Administration Workshop I Release 2 Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 11g: Administration Workshop I Release 2 Durée: 5 Jours Description Ce cours constitue la première étape de votre formation en tant

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 10g - Administration Workshop II. 5 Jours [35 Heures]

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 10g - Administration Workshop II. 5 Jours [35 Heures] Plan de cours disponible à l adresse http://www.adhara.fr/.aspx Objectif Utiliser RMAN pour créer et gérer des jeux de sauvegarde et des copies d'image Récupérer la base de données jusqu'à un point dans

Plus en détail

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles Access est un logiciel permettant de gérer des données en masse : une liste de clients ou de fournisseurs, un stock de produits, des commandes, des salariés, un club de tennis, une cave à vin, une bibliothèque,

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

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

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

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

Utilitaire d importation et d exportation de données pour NewWayService 4

Utilitaire d importation et d exportation de données pour NewWayService 4 Utilitaire d importation et d exportation de données pour NewWayService 4 Copyright 1996-2009 OroLogic Inc. http://www.orologic.com Révision 4.01 Table des matières I Table des matières Introduction à

Plus en détail

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire l objet d une exploitation

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

CHAPITRE 1 ARCHITECTURE

CHAPITRE 1 ARCHITECTURE 07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA

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

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

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

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D 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

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

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

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Chapitre 1 : Introduction

Chapitre 1 : Introduction Chapitre 1 : Introduction A. Objectifs de l'ouvrage.................. 8 B. Présentation d'oracle11g................. 8 1. Introduction........................ 8 2. Principales nouveautés de la version

Plus en détail

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing Présentation d Oracle 10g Chapitre VII Présentation d ORACLE 10g 7.1 Nouvelles fonctionnalités 7.2 Architecture d Oracle 10g 7.3 Outils annexes 7.4 Conclusions 7.1 Nouvelles fonctionnalités Gestion des

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

Instructions SQL. Première partie : Langage de description et de gestion des données

Instructions SQL. Première partie : Langage de description et de gestion des données Instructions SQL Première partie : Langage de description et de gestion des données Quelques instructions et leur syntaxe 1. Introduction Trois principales catégories d instructions. Instructions de création

Plus en détail

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Database Manager Guide de l utilisateur DMAN-FR-01/01/12 Database Manager Guide de l utilisateur DMAN-FR-01/01/12 Les informations contenues dans le présent manuel de documentation ne sont pas contractuelles et peuvent faire l objet de modifications sans préavis.

Plus en détail

ALCOMP CATALOGUE DE FORMATION

ALCOMP CATALOGUE DE FORMATION ALCOMP CATALOGUE DE FORMATION 1 N Alcomp transfert de compétences vers nos clients» «Le 2 A : Formations ORACLE A1 : Fondamentaux : Sommaire A2 : Cursus développement : A3 : Cursus Administration : B1

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

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

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

Plus en détail

Auto-évaluation DB2 for z/os: cours de base

Auto-évaluation DB2 for z/os: cours de base Auto-évaluation DB2 for z/os: cours de base Document: f1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION DB2 FOR Z/OS:

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Gestion du serveur WHS 2011

Gestion du serveur WHS 2011 Chapitre 15 Gestion du serveur WHS 2011 Les principales commandes Windows Home Server 2011 reprend l ergonomie de Windows 7 et intègre les principales commandes de Windows Server 2008 R2. Les commandes

Plus en détail

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

dans laquelle des structures vont être créées pour une ou plusieurs applications.

dans laquelle des structures vont être créées pour une ou plusieurs applications. Création d'une nouvelle base de données A. Vue d'ensemble 1. Étapes de création d'une nouvelle base de données pour une application Le processus complet de création d'une nouvelle base de données pour

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...) Avant-propos 1. À qui s'adresse ce livre? 15 2. Pré-requis 15 3. Objectifs du livre 16 4. Notations 17 Introduction à la Business Intelligence 1. Du transactionnel au décisionnel 19 2. Business Intelligence

Plus en détail

SQL Server 2014 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services, Power BI...)

SQL Server 2014 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services, Power BI...) Avant-propos 1. À qui s'adresse ce livre? 15 2. Pré-requis 15 3. Objectifs du livre 16 4. Notations 17 Introduction à la Business Intelligence 1. Du transactionnel au décisionnel 19 2. Business Intelligence

Plus en détail

BD parallèles et réparties

BD parallèles et réparties LOG660 - Bases de données de haute performance BD parallèles et réparties Département de génie logiciel et des TI BD parallèles vs réparties BD réparties Les données se trouvent sur plusieurs sites (noeuds)

Plus en détail

Guide d utilisation du navigateur web OECD.Stat

Guide d utilisation du navigateur web OECD.Stat OECD.Stat 2008 2 / 39 Table des matières : Introduction... 4 Concepts liés à OECD.Stat... 4 Organisation des données... 4 Séries de référence... 5 Recherche... 5 Le navigateur web OECD.Stat... 5 Guide

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

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

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants :

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants : Memento MYSQL LINUX Pour installer le serveur Mysql Installer les paquets suivants : Mysql-server (moteur de bases de données) Apache2 (serveur web si besoin) Php5 (langage de programmation permettant

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Tutoriel Drupal «views»

Tutoriel Drupal «views» Tutoriel Drupal «views» Tutoriel pour la découverte et l utilisation du module Drupal «Views» 1 Dans ce tutoriel nous allons d abord voir comment se présente le module views sous Drupal 7 puis comment

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

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

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 CRÉATION DES OBJETS DE BASES DE DONNÉES... 2 1.1 Architecture d une base de données... 2 1.1.1 Niveau logique... 2 1.1.2 Niveau physique... 3 1.2 Gestion d une base de données... 3

Plus en détail

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

Plus en détail

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale

Plus en détail

A. Partitionnement, systèmes de fichiers et RAID :

A. Partitionnement, systèmes de fichiers et RAID : Introduction : Ce cours a pour but d expliquer les différentes étapes de la gestion des disques sous Windows 7 Client. Afin d être le plus exhaustif possible, nous avons décidé de commencer par aborder

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

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

MEGA TeamWork. Guide d utilisation

MEGA TeamWork. Guide d utilisation MEGA TeamWork Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune manière

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

Windows 7 - Dossiers et fichiers

Windows 7 - Dossiers et fichiers Windows 7 - Dossiers et fichiers Explorez votre PC : dossiers et fichiers Tous les fichiers nécessaires au fonctionnement de votre ordinateur, qu il s agisse de ceux de Windows, des logiciels installés

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML

Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML Bases de données Niveau 1 SQL - MySQL MariaDB - Cours et TP 5 DDL et DML MariaDB : https://mariadb.org/ Site officiel MySQL : http://www-fr.mysql.com/ Zone pour les développeurs : http://dev.mysql.com/

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

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

1. Introduction... 2. 2. Sauvegardes Hyper-V avec BackupAssist... 2. Avantages... 2. Fonctionnalités... 2. Technologie granulaire...

1. Introduction... 2. 2. Sauvegardes Hyper-V avec BackupAssist... 2. Avantages... 2. Fonctionnalités... 2. Technologie granulaire... Guide de démarrage rapide : console de restauration granulaire Hyper-V Sommaire 1. Introduction... 2 2. Sauvegardes Hyper-V avec BackupAssist... 2 Avantages... 2 Fonctionnalités... 2 Technologie granulaire...

Plus en détail

FEN FICHE EMPLOIS NUISANCES

FEN FICHE EMPLOIS NUISANCES Version 4.8.2 Date mise à jour : 19 Février 2013 Auteur : LAFUMA Gilles Email : glfm02@orange.fr Web : www.procarla.fr/soft Présentation : FEN FICHE EMPLOIS NUISANCES Le Logiciel FEN Fiche emploi nuisance

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

Master Exploration Informatique des données DataWareHouse

Master Exploration Informatique des données DataWareHouse Master Exploration Informatique des données DataWareHouse Binôme Ahmed BENSI Enseignant tahar ARIB SOMMAIRE I. Conception...1 1. Contexte des contrats...1 2. Contexte des factures...1 II. Modèle physique...2

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

DROP TABLE Aeroport CASCADE CONSTRAINTS; CREATE TABLE Aeroport ( VARCHAR(60) NOT NULL, CONSTRAINT PK_aeroport primary key (codeaeroport) );

DROP TABLE Aeroport CASCADE CONSTRAINTS; CREATE TABLE Aeroport ( VARCHAR(60) NOT NULL, CONSTRAINT PK_aeroport primary key (codeaeroport) ); / Fichier: tp1-2.sql Nom: Martin Rancourt - Matricule: 14059412 Nom: Vincent Ribou - Matricule: 14042001 Description : Travail pratique #1 partie 2. Base de données qui permet de gérer les vols d une compagnie

Plus en détail

Introduction à la B.I. Avec SQL Server 2008

Introduction à la B.I. Avec SQL Server 2008 Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05 Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05 Les informations contenues dans le présent manuel de documentation ne sont pas contractuelles et peuvent faire l objet de modifications sans préavis.

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

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015 Recueil des s s : Mise en œuvre d un site SharePoint 2013 Juin 2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013. NADAP et SharePoint

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

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

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public. DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de

Plus en détail

1.2 Genèse. 1.3 Version de Designer utilisée

1.2 Genèse. 1.3 Version de Designer utilisée Designer et l ingénierie du logiciel Notions élémentaires P.-A. Sunier, ISNet Neuchâtel avec le concours de C. Kohler et P. Ferrara 1 Propos liminaires... 1 1.1 Objectifs de publication... 1 1.2 Genèse...

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

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

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

MODULE 3 Analyses thématiques

MODULE 3 Analyses thématiques MODULE 3 Analyses thématiques Ce module a pour objectif d approfondir les différents modes de représentation cartographique des données attributaires à l'aide de la gestion des styles. - la nouvelle symbologie

Plus en détail

SQL SERVER 2008 Le 20/10/2010

SQL SERVER 2008 Le 20/10/2010 Définitions SQL SERVER 2008 Le 20/10/2010 Une base de données est un objet particulièrement difficile à définir puisqu il est abordé en pratique selon différents points de vue : Pour un administrateur,

Plus en détail