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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Data Tier Application avec SQL Server 2008 R2

Data Tier Application avec SQL Server 2008 R2 Data Tier Application avec SQL Server 2008 R2 Article par David BARBARIN (MVP SQL Server) David BARBARIN est actuellement consultant en bases de données pour une entreprise Suisse GOLD Partner Microsoft

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

Écriture de journal. (Virement de dépense)

Écriture de journal. (Virement de dépense) Écriture de journal (Virement de dépense) SERVICE DES FINANCES Équipe de formation PeopleSoft version 8.9 Août 2014 TABLES DES MATIERES AVERTISSEMENT... 3 INTRODUCTION... 4 RAISONS JUSTIFIANT LA CRÉATION

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

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

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

MYXTRACTION. 2009 La Business Intelligence en temps réel

MYXTRACTION. 2009 La Business Intelligence en temps réel MYXTRACTION 2009 La Business Intelligence en temps réel Administration Qui sommes nous? Administration et management des profils Connecteurs Base des données Gestion des variables et catégories de variables

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

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

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

Création d'une nouvelle base de données

Création d'une nouvelle base de données 199 Chapitre 7 Création d'une nouvelle base de données 1. Vue d'ensemble Création d'une nouvelle base de données 1.1 Étapes de création d'une nouvelle base de données pour une application Le processus

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

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

Plus en détail

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012 CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE Edition 2012 AGENDA Qui sommes nous? Présentation de Keyrus Keyrus : Expert en formations BI Nos propositions de formation 3 modes de formations Liste des

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

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

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

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE TP N 1 : Initiation à L Access I. Introduction Microsoft Access fait partie

Plus en détail

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés. Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration

Plus en détail

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE»

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE» RÉPUBLIQUE TUNISIENNE *** MINISTÈRE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE *** UNIVERSITÉ DE JENDOUBA TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE» 1 I/ CADRE

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

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels. Aide Webmail 1. Découverte de l environnement : L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels. 1. La barre d application (1) Les

Plus en détail

SAP BusinessObjects Web Intelligence (WebI) BI 4

SAP BusinessObjects Web Intelligence (WebI) BI 4 Présentation de la Business Intelligence 1. Outils de Business Intelligence 15 2. Historique des logiciels décisionnels 16 3. La suite de logiciels SAP BusinessObjects Business Intelligence Platform 18

Plus en détail

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

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION offre de nombreux avantages : performances de pointe, productivité et souplesse accrues pour un coût total de

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

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données Base de Données Cours Introductif Base de Données Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15%

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

Création et utilisation de formulaire pdf

Création et utilisation de formulaire pdf Création et utilisation de formulaire pdf Grâce à Adobe Acrobat, il est plus facile de créer, de remplir et d envoyer des formulaires électroniques PDF. Vous pouvez concevoir et créer un formulaire complètement

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

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

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail