Techniques d optimisation standard des requêtes

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Techniques d optimisation standard des requêtes"

Transcription

1 6 Techniques d optimisation standard des requêtes L optimisation du SQL est un point très délicat car elle nécessite de pouvoir modifier l applicatif en veillant à ne pas introduire de bogues. 6.1 Réécriture des requêtes L utilisation d objets d optimisation est un élément qui, de manière générale, améliore les performances très significativement. Cependant, la façon d écrire votre requête peut, elle aussi, dans certains cas, avoir un impact très significatif. L étape de transformation de requête (voir ci-après) est de plus en plus performante sur Oracle et SQL Server. Elle donne de très bons résultats, ce qui rend inutiles certaines recommandations dans le cas général. Cependant, sur MySQL ou sur des requêtes compliquées, où on peut considérer que le SGBDR n arriverait pas à faire certaines transformations tout seul, l utilisation des écritures les plus performantes permettra d améliorer les résultats. Nous allons faire quelques comparaisons d écritures qui intégreront parfois un hint (voir Chapitre 7, section 7.1, "Utilisation des hints sous Oracle") afin d empêcher certaines transformations. De façon générale, il faut privilégier les jointures. Le principe du modèle relationnel étant que, lors de l interrogation, des jointures seront faites, on peut supposer que les éditeurs de SGBDR ont concentré leurs efforts là-dessus. Cependant, sous MySQL avec le moteur MyISAM, les s sont souvent plus performantes.

2 154 Étude et optimisation des requêtes Axe Transformation de requêtes L étape de transformation de requêtes (Query Transformation) est partie intégrante du processus de traitement des requêtes. C est une des fonctions de l optimiseur CBO. Cette étape consiste à transformer la requête soumise en une requête équivalente afin de la rendre plus performante. Cela va, au-delà, de choisir le meilleur chemin d exécution. La transformation de requêtes peut, par exemple, décider de transformer une en jointure. Vous pouvez influer sur cette étape au moyen des hints, mais c est rarement nécessaire. Les principales transformations effectuées par le CBO sont : Subquery unesting. Cette transformation consiste à transformer des sousrequêtes en jointures. Suppression d éléments inutiles (certaines jointures, des colonnes sélectionnées dans les s). Predicate push. Cette transformation consiste à dupliquer certains prédicats dans les sous-vues et les s. View merging. Intègre l exécution des vues à la requête principale. Query Rewriting. Utilisation des vues matérialisées (voir Chapitre 5, section 5.3.5, "Les vues matérialisées"). Or Expansion. Transforme des conditions OR en plusieurs requêtes fusionnées par une sorte d "Union ALL". Il n y a rien de particulier à faire pour bénéficier du Query Rewriting. Connaître l existence de ce mécanisme vous aidera à comprendre pourquoi il arrive parfois qu un plan d exécution ne ressemble vraiment pas à votre requête. Cette fonction est plus évoluée sous Oracle et SQL Server que sous MySQL. INFO Au cours de ce chapitre, nous présentons des variations de notation qui peuvent avoir un effet sur les performances. L'optimiseur étant assez performant, il transforme automatiquement les requêtes soumises en la version la plus performante. Nous recourrons à des hints pour empêcher ces transformations afin de comparer les notations. L'utilisation de hint n'est nullement une recommandation, nous le mentionnons à titre indicatif de façon que, si vous exécutez ces requêtes, vous puissiez reproduire les mêmes résultats que ceux présentés ici. Comme cela sera expliqué au Chapitre 7, section 7.1, "Utilisation des hints sous Oracle", il faut les utiliser en dernier recours et seulement en toute connaissance de cause.

3 Chapitre 6 Techniques d optimisation standard des requêtes IN versus jointure Selon que l écriture d une requête se fasse avec une et l opérateur IN ou avec une jointure, l impact sera différent. Pour forcer le parcours des tables, et non seulement celui des index, nous utilisons dans la requête des champs non indexés (Quantité et Editeur). Listing 6.1 : Requête utilisant une jointure select sum(cl.quantite) from cmd_lignes CL,livres L where CL.nolivre = L.nolivre and L.editeur='Pearson' Listing 6.2 : Requête utilisant une select sum(quantite) from cmd_lignes where nolivre in (select nolivre from livres where editeur='pearson') Nous allons tester ces requêtes avec et sans index sur la colonne Nolivre de la table cmd_lignes. create index IS_cmd_lignes on cmd_lignes(nolivre); MyISAM Sous-requête Sous-requête Temps 12,89 s 13,53 s 0,01 s 13,53 s Key_read_requests InnoDB Sous-requête Temps 3,48 s 13,51 s Reads InnoDB créant automatiquement un index dans la table fille de la Foreign Key, il y a forcement un index sur la colonne Nolivre de la table cmd_lignes. La création de l index est donc sans effets. Oracle Sous-requête Sous-requête Temps 6,15 s 8,75 s 0,01 s 0,60 s Consistent Gets

4 156 Étude et optimisation des requêtes Axe 2 Pour éviter la transformation de la version utilisant une en version jointure par le mécanisme de transformation de requête, nous devons utiliser le hint /*+no_unnest*/ et pour forcer l usage de l index, le hint /*+ index (CL IS_cmd_ lignes)*/. Si nous ne mettons aucun hint, l optimiseur choisit systématiquement de faire une jointure sans utiliser l index. MS SQL Server Sous-requête Temps 0,625 s 0,046 s Estimated Cost 35,27 60,44 Afin de comparer les résultats entre les bases, nous désactivons le parallélisme sous SQL Server au moyen du code option (MAXDOP 1). Nous n avons pas trouvé de combinaisons de hints permettant de forcer l utilisation d une tant qu il n y a pas d index. Une fois l index placé, nous avons dû contraindre son utilisation avec le hint WITH (INDEX(IS_CMD_LIGNES)). En revanche, nous n avons pas réussi à forcer une jointure pertinente utilisant cet index. Conclusion : Oracle et SQL Server, grâce à leur capacité de transformation de requête évoluée, exécutent les requêtes de la même façon quelle que soit la notation employée, si aucun hint n est utilisé. Lorsque la transformation n est pas effectuée, on constate que la solution à base de jointure est généralement plus performante. Au cas où le SGBDR n arriverait pas à faire la transformation, il est préférable de prendre l habitude d écrire des jointures plutôt que des s Sous-requêtes versus anti-jointures Une anti-jointure est une jointure ouverte pour laquelle vous ne sélectionnez que les valeurs non jointes. Les requêtes ci-dessous, permettent de sélectionner les livres qui n ont jamais été commandés. Listing 6.3 : Version Exists select * from livres L where not exists (select 1 from cmd_lignes CL where CL.NOLIVRE=L.NOLIVRE)

5 Chapitre 6 Techniques d optimisation standard des requêtes 157 Listing 6.4 : Version anti-jointure select L.* from livres L left outer join cmd_lignes CL on CL.NOLIVRE=L.NOLIVRE where cl.nolivre is null Nous allons tester ces requêtes avec et sans index sur la colonne Nolivre de la table cmd_lignes. create index IS_cmd_lignes on cmd_lignes(nolivre); MyISAM Anti-jointure Sous-requête Anti-jointure Sous-requête Temps 10,11 s 10,11 s 0,02 s 0,02 s Key_read_requests L'anti-jointure est transformée en. InnoDB Anti-jointure Sous-requête Temps 24,31 s 25,34 s Reads InnoDB créant automatiquement un index dans la table fille de la Foreign Key, il y a forcément un index sur la colonne Nolivre de la table cmd_lignes. La création de l index est donc sans effets. Oracle Anti-jointure Sous-requête Anti-jointure Sous-requête Temps 0,340 s 2,282 s 0,375 s 0,031 s Consistent Gets Nous utilisons le hint /*+NO_QUERY_TRANSFORMATION*/ pour empêcher la transformation de la en anti-jointure. MS SQL Server Anti-jointure Anti-jointure Temps 2,437 s 0,079 s Estimated Cost 47,49 0,54

6 158 Étude et optimisation des requêtes Axe 2 Quelle que soit la notation utilisée, la requête est transformée en anti-jointure. Les résultats sont mitigés sous Oracle. Malheureusement, l étape de transformation de requête n opte pas toujours pour la meilleure option. L optimiseur choisit systématiquement l anti-jointure qui est, en effet, généralement la meilleure option. Ici, la table livre est bien plus petite que la table cmd_lignes, dans ce cas, si un index est présent sur la table fille de la Nested Loop, la solution utilisant une est la meilleure. Il faut donc utiliser un hint pour forcer ce choix. Sur les autres SGBDR, l étape de transformation ne laisse pas le choix, les deux écritures se valent Exists versus Count Les requêtes effectuant un test d existence sont équivalentes à un comptage égal à 0. Listing 6.5 : Version Exists select * from livres L where not exists (select 1 from cmd_lignes CL where CL.NOLIVRE=L.NOLIVRE) Listing 6.6 : Version 0=count(*) select * from livres L where 0 = (select count(*) from cmd_lignes CL where CL.NOLIVRE=L.NOLIVRE) Nous allons tester ces requêtes avec un index sur la colonne Nolivre de la table cmd_lignes. create index IS_cmd_lignes on cmd_lignes(nolivre); MyISAM Exists Count Temps 0,020 s 1,110 s Key_read_requests InnoDB Exists Count Temps 22,940 s 29,590 s Reads Oracle Exists Count Temps 0,031 s 0,031 s Consistent Gets

7 Chapitre 6 Techniques d optimisation standard des requêtes 159 MS SQL Server Exists Count Temps 0,062 s 0,062 s Oracle et SQL Server considèrent ces deux écritures équivalentes, alors que MySQL les voit bien différentes. On suppose que dans la version utilisant COUNT(*), il dénombre toutes les occurrences pour tester l égalité à 0, alors que la version utilisant EXISTS s arrête à la première occurrence trouvée Exists versus IN Une utilisant l opérateur IN peut facilement être convertie en sousrequête utilisant l opérateur EXISTS. Nous allons tester ces requêtes avec un index sur la colonne Nolivre de la table cmd_lignes. create index IS_cmd_lignes on cmd_lignes(nolivre); Listing 6.7 : Version IN select sum(quantite) from cmd_lignes where nolivre in (select nolivre from livres where editeur='pearson') Listing 6.8 : Version Exists select sum(quantite) from cmd_lignes cl where exists (select nolivre from livres L where editeur='pearson' and CL.nolivre=L.nolivre ) MyISAM In Exists Temps 14,010 s 15,340 s Key_read_requests InnoDB In Exists Temps 7,420 s 8,200 s Reads Oracle In Exists Forçage index Temps 8,594 s 8,594 s 4,234 s Consistent Gets

8 160 Étude et optimisation des requêtes Axe 2 L optimiseur Oracle décide de ne pas utiliser l index. Si nous forçons son usage à l aide du hint /*+ index(cl is_cmd_lignes)*/, nous notons une amélioration des performances. Nous utilisons le hint /*+NO_QUERY_TRANSFORMATION*/ pour empêcher la transformation des s en anti-jointures qui ont un temps de réponse de l ordre 0,34 seconde. MS SQL Server In ou Exists Forçage index Temps 0,625 s 0,046 s Comme sous Oracle, nous devons forcer l utilisation de l index avec le hint WITH (INDEX(IS_CMD_LIGNES)). Oracle et SQL Server considèrent ces deux écritures équivalentes, alors que MySQL les voit différentes, l avantage étant à l opérateur IN sur les deux moteurs de MySQL Clause Exists * versus constante On enseigne, depuis des années, que lorsqu on emploie des s corrélées utilisant l opérateur EXISTS, il faut retourner une constante (numérique ou texte) dans la clause SELECT de la. Est-ce seulement pour des raisons de clarté ou aussi de performances? Listing 6.9 : Version Exists constante select * from livres L where not exists (select 1 from cmd_lignes CL where CL.NOLIVRE=L.NOLIVRE); Listing 6.10 : Version Exists * select * from livres L where not exists (select * from cmd_lignes CL where CL.NOLIVRE=L.NOLIVRE); Nous ne documentons pas le détail des résultats. On constate que les colonnes retournées dans la n ont aucun impact sur les performances, alors qu elles en avaient sur d anciennes versions d Oracle. Cette pratique de mettre une constante garde cependant tout son sens du point de vue de la compréhension. Parfois, certains développeurs mettent ici un champ particulier laissant ainsi croire qu il y aurait une sorte de lien possible avec ce champ.

9 Chapitre 6 Techniques d optimisation standard des requêtes s sous requêtes Listing 6.11 : Requête utilisant une jointure select c.nocmd,datecommande,sum(montant) Total from cmd c,cmd_lignes cl where cl.nocmd=c.nocmd and datecommande<to_ date(' ','yyyy-mm-dd') group by c.nocmd, datecommande Listing 6.12 : Requête utilisant une expression select nocmd,datecommande,(select sum(montant) from cmd_lignes where nocmd=c.nocmd) Total from cmd c where datecommande<to_date(' ','yyyy-mm-dd') Nous choisissons ici une requête qui empêche d appliquer le prédicat de la table cmd directement à la table cmd_lignes et qui ne retourne que 173 lignes. En changeant la date, nous testons une autre version qui ramène beaucoup plus de lignes ( ). Petite requête Grosse requête MyISAM Temps 5,890 s 0,160 s 6,810 s 1,950 s Reads Petite requête Grosse requête InnoDB Temps 0,670 s 0,670 s 3,580 s 4,030 s Reads Oracle Petite requête Grosse requête Temps 0,390 s 0,060 s 1,48 s 1,51 s Consistent Gets Petite requête Grosse requête MS SQL Server Temps 0,125 s 0,109 s 0,812 s 0,953 s

10 162 Étude et optimisation des requêtes Axe 2 Avec des requêtes ramenant peu de lignes, l'avantage est aux expressions sousrequêtes. Avec des requêtes ramenant beaucoup de lignes, l'avantage passe à la version jointure, sauf pour le moteur MyISAM qui a l'air plus à l'aise avec l'utilisation systématique d'expressions s. Seul l'optimiseur de SQL Server adapte automatiquement son plan d'exécution à la solution la plus efficace, indépendamment de l'écriture. Nous avons donc utilisé les hints loop join et merge join pour effectuer ces tests Agrégats : Having versus Where Quand c est possible, les conditions doivent être placées dans la clause WHERE plutôt que dans la clause HAVING qui est évaluée après les opérations d agrégation. Cela permet de profiter d éventuels index et réduit le volume à traiter durant l opération d agrégation. Listing 6.13 : Requête utilisant Having (incorrecte) select pays,ville,count(*) from clients t group by pays,ville having pays='france' Listing 6.14 : Requête utilisant Where select pays,ville,count(*) from clients t where t.pays='france' group by pays,ville MyISAM Having Where Temps 0,080 s 0,030 s Reads InnoDB Having Where Temps 0,090 s 0,050 s Reads Oracle Having Where Temps 0,047 s 0,015 s Consistent Gets MS SQL Server Having Where Temps 0,046 s 0,046 s

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

Optimisation des bases de données

Optimisation des bases de données Optimisation des bases de données Mise en œuvre sous Oracle Laurent Navarro Avec la contribution technique d Emmanuel Lecoester Pearson Education France a apporté le plus grand soin à la réalisation de

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

Ch 5 SELECT Sous-requêtes

Ch 5 SELECT Sous-requêtes SQL Ch 5 SELECT Sous-requêtes I. INTRODUCTION... 1 A. SYNTAXE GENERALE... 1 B. RESULTAT RENVOYE PAR UNE SOUS-REQUETE... 2 C. SOUS REQUETE INDEPENDANTES ET SOUS REQUETE DEPENDANTES... 2 II. SOUS-REQUETES

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

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

Chapitre 1 Installer MySQL 5 21

Chapitre 1 Installer MySQL 5 21 Chapitre 1 Installer MySQL 5 21 1.1. Les outils nécessaires... 22 1.2. Télécharger et installer le serveur MySQL... 22 Télécharger la dernière version... 22 Lancer l installation sous Windows... 23 Lancer

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

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 12 Optimisation des lectures Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

L optimiser ORACLE. L optimiser ORACLE suit une approche classique:

L optimiser ORACLE. L optimiser ORACLE suit une approche classique: L optimiser ORACLE L optimiser ORACLE suit une approche classique: Génération de plusieurs plans d exécution. Estimation du coût de chaque plan généré. Choix du meilleur et exécution. Tout ceci est automatique,

Plus en détail

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4 DUT Génie Biologique Option Bioinformatique Les bases de données relationnelles avec MySQL Éric Pipard Travaux Pratiques n 4 Jointures externes Requêtes internes et externes Vues et transactions Objectifs

Plus en détail

Chapitre 3 La manipulation des données (LMD)

Chapitre 3 La manipulation des données (LMD) 75 Chapitre 3 La manipulation des données (LMD) 1. Introduction La manipulation des données (LMD) Le langage de manipulation de données permet aux utilisateurs et aux développeurs d'accéder aux données

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

Optimisation. Bases de Données. Année 2007-08

Optimisation. Bases de Données. Année 2007-08 Optimisation Bases de Données Année 2007-08 Les index Les index sont utilisés pour accélérer l accès aux données. fonction de hachage qui permet de retrouver rapidement un ou des enregistrements les clés

Plus en détail

Les bases de données (suite) Support de cours Pascal Ballet

Les bases de données (suite) Support de cours Pascal Ballet Les bases de données (suite) Support de cours Pascal Ballet La saisie et l'impression des données Les formulaires de saisie Les formulaires de saisie jouent deux rôles importants : - la mise en forme des

Plus en détail

Requêtes S.Q.L. 1 Création des requêtes sous ACCESS

Requêtes S.Q.L. 1 Création des requêtes sous ACCESS Activité 15 Requêtes S.Q.L. Objectif Interroger une base de données avec des requêtes SQL. Fiche de savoir associée Ressource à utiliser Csi1Projets.pdf (Dossier 4) B.1.1.b. 1 En cliquant sur l'objet "Requêtes"

Plus en détail

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL Les bases de données relationnelles Le langage SQL est un langage universel destiné à travailler sur des bases de données relationnelles. Nous considérerons ici qu'une base

Plus en détail

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

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

Plus en détail

Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL

Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL 1. Définitions Clause : mot-clé Requête : interrogation ou action structurée sur la BD Requête d interrogation composée de l ensemble des clauses :

Plus en détail

Formation au langage SQL

Formation au langage SQL Objectif SQL est un langage informatique normalisé qui sert à effectuer des opérations sur des bases de données. Il permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases

Plus en détail

Formation DEV4 : SQL - Conception & Mise en Oeuvre

Formation DEV4 : SQL - Conception & Mise en Oeuvre Synopsis Formation DEV4 : SQL - Conception & Mise en Oeuvre Le SQL (Structured Query Language) est le langage standard de manipulation de données. À ce titre, il est le pilier fondamental de la base PostgreSQL,

Plus en détail

Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 2 L INTERROGATION DES DONNEES... 2-1 3 LES OPERATEURS LOGIQUES... 3-1

Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 2 L INTERROGATION DES DONNEES... 2-1 3 LES OPERATEURS LOGIQUES... 3-1 Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 Le langage SQL... 1-2 Le langage PL/SQL... 1-4 Qu'est-ce que SQL*Plus?... 1-5 Commandes SQL*Plus... 1-7 Variables de substitution... 1-15 La commande

Plus en détail

SQL : Dans les articles précédents vous avez acquis

SQL : Dans les articles précédents vous avez acquis Fiche technique SQL : les sous-requêtes 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 réalisées en SQL.

Plus en détail

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL)

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL) Introduction 1/39 2/39 Introduction Anne-Cécile Caron Licence MIAGE - BDD 2015-2016 A partir de l algèbre relationnelle s est construit un langage informatique permettant d interroger les données : SQL

Plus en détail

SQL Les fondamentaux du langage (2ième édition)

SQL Les fondamentaux du langage (2ième édition) Introduction 1. Un peu d'histoire 11 2. Les normes SQL 12 3. Description rapide du modèle relationnel 14 3.1 Principaux concepts du modèle relationnel 15 3.2 Principales règles 16 4. Les opérateurs en

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

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

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

Opération DIVISION. Huit opérations de base de l algèbre relationnelle. SELECT [ALL] [DISTINCT] liste d'attributs FROM table

Opération DIVISION. Huit opérations de base de l algèbre relationnelle. SELECT [ALL] [DISTINCT] liste d'attributs FROM table Opération DIVISION Huit opérations de base de l algèbre relationnelle PROJECTION SELECTION JOINTURE SELECT [ALL] [DISTINCT] liste d'attributs FROM table SELECT liste d'attributs FROM table WHERE condition

Plus en détail

Rudiments SQL pour Oracle BDA_RCS

Rudiments SQL pour Oracle BDA_RCS Rudiments SQL pour Oracle BDA_RCS 08-11-2014 1 La base de données Gestion des commandes 08-11-2014 2 Les noms de colonnes sont volontairement simplifiés 3 Ajout de nouvelles colonnes dans des tables qui

Plus en détail

Optimisation de requêtes

Optimisation de requêtes Optimisation de requêtes Illustration avec Oracle J. Akoka - I. Wattiau Introduction BUT : Fournir l'algorithme d'accès à la base de données pour répondre à une requête exprimée en langage assertionnel

Plus en détail

Laboratoire 3 Optimisation de requêtes et analyse de la performance. 1 Introduction. Tâche 1 : Évaluation et optimisation de requêtes

Laboratoire 3 Optimisation de requêtes et analyse de la performance. 1 Introduction. Tâche 1 : Évaluation et optimisation de requêtes DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG660 - BASE DE DONNÉES HAUTE PERFORMANCE Laboratoire 3 Optimisation de requêtes et analyse de la performance 1 Introduction L objectif de ce troisième laboratoire

Plus en détail

Conception de Base de Données Explication sur la Conception de Base de Données

Conception de Base de Données Explication sur la Conception de Base de Données Conception de Base de Données Explication sur la Conception de Base de Données Introduction A la vue de plusieurs questions sur les bases de données, et surtout la conception du schéma de base. En effet,

Plus en détail

Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS

Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS 2003-07-01 1 Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS Voici MRD de la BD AcciRoute pour représenter les rapports d accidents de la route. Le MRD

Plus en détail

Chapitre 6 Les sous-requêtes

Chapitre 6 Les sous-requêtes Chapitre 6 Les sous-requêtes Une caractéristique très puissante SQL est la possibilité d imbriquer une requête SQL (SELECT) dans une autre. En effet, nous pouvons utiliser le résultat d une requête pour

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL I Gestion des utilisateurs et de leurs privilèges I.1 Gestion

Plus en détail

Chapitre 4 : Le langage SQL

Chapitre 4 : Le langage SQL Chapitre 4 : Le langage SQL Table des matières I) Introduction...2 II) Rappel...2 III) Gestion de la base de données...2 1) Création de la base de données...2 2) Modification de la base de données...2

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

BASES DE DONNÉES AVANCÉES

BASES DE DONNÉES AVANCÉES L3 Informatique Option : ISIL BASES DE DONNÉES AVANCÉES RAMDANI MED U-BOUIRA M. R A M D A N I @ U N I V - B O U I R A. D Z P E R S O. L I V E H O S T. F R Cours 5 : Evaluation et optimisation des requêtes

Plus en détail

Le langage SQL (deuxième partie) c Olivier Caron

Le langage SQL (deuxième partie) c Olivier Caron Le langage SQL (deuxième partie) 1 Les requêtes de consultation Représente la majorité des requêtes 1 Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l algèbre relationnel

Plus en détail

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription A partir des retours d expérience, et des préconisations des éditeurs, présenter les facteurs clés de succès et les bonnes pratiques

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

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Interface Web PhpPgAdmin: permet de faire des requêtes SQL ( 1 commandes) permet de visualiser

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

Interrogation de bases de données avec le langage SQL

Interrogation de bases de données avec le langage SQL Web dynamique avec PHP et MySQL Interrogation de bases de données avec le langage SQL C. Sirangelo & F. Tort Interroger une base avec SQL Interroger une base de données: extraire des données de la base

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

Le langage SQL Rappels

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

Plus en détail

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

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

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 1 : Vues et Index Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les Vues Généralités Syntaxe Avantages Conditions de mise à jour 2 Index Généralités

Plus en détail

Département Génie Informatique BD50. TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows

Département Génie Informatique BD50. TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows Département Génie Informatique BD50 TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows Françoise HOUBERDON & Christian FISCHER Copyright Mars 2007 Contexte de travail : Après avoir

Plus en détail

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 SQL pour Oracle 10g Razvan Bizoï Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 Table des matières PRÉAMBULE... MODULE 1 : PRÉSENTATION DE L ENVIRONNEMENT... 1-1 Qu'est-ce

Plus en détail

Bases de données sous Access

Bases de données sous Access Bases de données sous Access Plan Initiation aux bases de données Application sous Access Structure d une base de données Langages de manipulation de données Algèbre relationnelle (théorique) QBE d Access

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

Il est nécessaire de connaître au moins un système d'exploitation de type graphique.

Il est nécessaire de connaître au moins un système d'exploitation de type graphique. GBD-030 Oracle Prise en main Saint-Denis à 9h30 5 jours Objectifs : Une formation Oracle complète pour découvrir tous les concepts du système et les différentes façons de les utiliser concrètement tout

Plus en détail

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

1 Modélisation d une base de données pour une société de bourse IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une

Plus en détail

Modèle relationnel Création et modification des relations en SQL

Modèle relationnel Création et modification des relations en SQL Modèle relationnel Création et modification des relations en SQL ENT - Clé sql2009 BD - Mírian Halfeld-Ferrari p. 1 Insertion dans une relation Pour insérer un tuple dans une relation: insert into Sailors

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

Informatique Pour Tous Interrogation n 5

Informatique Pour Tous Interrogation n 5 Nom : Prénom : Informatique Pour Tous Interrogation n 5 Soit la base de données relationnelle BANQUE constituée des trois relations (ou tables) suivantes : CLIENTS (idclient : int, nom, prenom, ville,)

Plus en détail

Module GMIN308: Optimisation de requêtes dans le contexte d Oracle

Module GMIN308: Optimisation de requêtes dans le contexte d Oracle Module GMIN308: Optimisation de requêtes dans le contexte d Oracle 1. Préalable L optimisation de performances se révèle d importance dans le contexte de la gestion de gros volumes de données par les SGBDs.

Plus en détail

OI40: bases de données, TP 2

OI40: bases de données, TP 2 OI40: bases de données, TP 2 Frédéric Lassabe October 26, 2010 Ce TP requiert d avoir bien compris le TP précédent. 1 Sujet Lors de ce TP, il sera question d améliorer la base de données du TP précédent.

Plus en détail

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table Les requêtes de consultation Représente la ma jorité des requêtes SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Encapsule complètement l'algèbre relationnel Une

Plus en détail

Chapitre 2 La sélection simple

Chapitre 2 La sélection simple 2.1 La sélection simple Chapitre 2 La sélection simple La requête SELECT nous permet d'extraire des données à partir d'une base de données. La clause SELECT est suivie d'une ou de plusieurs colonnes, ce

Plus en détail

Bases de Données. SQL: Définition

Bases de Données. SQL: Définition Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 SQL: Définition Structured Query Langage(SQL): - Langage g de base dans les SGBD - Langage de

Plus en détail

Kit de survie sur les bases de données

Kit de survie sur les bases de données Kit de survie sur les bases de données Pour gérer un grand nombre de données un seul tableau peut s avérer insuffisant. On représente donc les informations sur différentes tables liées les unes aux autres

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours s'adresse aux utilisateurs d'oracle8i, Oracle9i

Plus en détail

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Projet MVC-CD Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Créé par S. Berberat, le 23 octobre.2014 Modifié par S. Berberat, le 29 octobre 2014 Page

Plus en détail

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion J. Hennecart Serval-Concept Lundi 23 février 2015 J. Hennecart des injections SQL sont des vulnérabilités permettant de faire exécuter des commandes, non prévues initialement, à une base de données. La

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

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

LES FONCTIONS DE SURVEILLANCE DES FICHIERS SYSLOG and APPLICATION LOGS Knowledge Module for PATROL - Data Sheet Version 1.5 Développé par http://www.axivia.com/ PRESENTATION DU PRODUIT SYSLOG and APPLICATION LOGS Knowledge Module for PATROL est

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

Plus en détail

INTRODUCTION A SQL. http://www.lri.fr/~rigaux/bd/sql.html

INTRODUCTION A SQL. http://www.lri.fr/~rigaux/bd/sql.html 012345678901234567890123 INTRODUCTION A SQL SQL = Structured Query Language SEQUEL = Structured English as a QUEry Language standard ISO depuis 87. Avantages : implanté + ou - complètement sur principaux

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Cours 3. : Le langage SQL Vincent Martin email : vincent.martin@univ-tln.fr page personnelle : http://lsis.univ-tln.fr/~martin/ Master 1. LLC Université du Sud Toulon

Plus en détail

L informatique des entrepôts de données

L informatique des entrepôts de données L informatique des entrepôts de données Daniel Lemire SEMAINE 8 Introduction à OLAP 8.1. Présentation de la semaine Le modèle OLAP (Online Analytical Processing) est un modèle quasiomniprésent en intelligence

Plus en détail

Modèle entité-association 6pts

Modèle entité-association 6pts Examen NFP 107 17 juin 2009 Sujet 1 3H documents autorisés Enseignant : Christine Plumejeaud Modèle entité-association 6pts Le service de gestion du personnel d une entreprise désire s équiper d un outil

Plus en détail

SQL : création et mises-à-jour de schémas et de données

SQL : création et mises-à-jour de schémas et de données SQL : création et mises-à-jour de schémas et de données Commandes de définition de données (DDL) Commandes de mise-à-jour de données (DML) Vues SQL-MAJ, vues-1 / 33 Exemple Définition de la relation

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

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

Plus en détail

SQL Requêtes simples. Outline ... A.D., S.B. Février 2013. .1 Introduction. .2 Requêtes mono-relation. .3 Requêtes multi-relations

SQL Requêtes simples. Outline ... A.D., S.B. Février 2013. .1 Introduction. .2 Requêtes mono-relation. .3 Requêtes multi-relations SQL Requêtes simples BD4 AD, SB Licence MASS, Master ISIFAR, Paris-Diderot Février 2013 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) SQL 1/19 Février 2013 1 / 19 Outline 1 2 Requêtes mono-relation

Plus en détail

420-PK6-SL Banques de données Avancées LES VUES

420-PK6-SL Banques de données Avancées LES VUES 420-PK6-SL Banques de données Avancées LES VUES CAS D'UTILISATION Prenons en exemple cette requête complexe : SELECT a.tablespace_name, a.contents, a.extent_management, a.allocation_type, a.segment_space_management,

Plus en détail

Le Langage SQL version Oracle

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

Plus en détail

Bases de données. Licence Pro QSSI. patrick.marcel@univ-tours.fr http://www.info.univ-tours.fr/ marcel

Bases de données. Licence Pro QSSI. patrick.marcel@univ-tours.fr http://www.info.univ-tours.fr/ marcel Bases de données Licence Pro QSSI patrick.marcel@univ-tours.fr http://www.info.univ-tours.fr/ marcel contexte nous avons vu comment exprimer des requêtes simples nous avons vu des requêtes que nous ne

Plus en détail

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année Plan Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 1 : Généralités & rappels 1.1 Avant-propos 1.2 Algèbre relationnelle kn@lri.fr http://www.lri.fr/~kn 2/18 But du cours Organisation

Plus en détail

Les Bases de Données

Les Bases de Données Les Bases de Données 1. Introduction 1.1 Définition On peut parler de bases de données partout où des informations sont plus ou moins structurées et rassemblées dans des systèmes organisés. La gestion

Plus en détail

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours vous permettra d acquérir les principes fondamentaux

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

420-PK6-SL Banques de données avancé JOINTURES

420-PK6-SL Banques de données avancé JOINTURES 420-PK6-SL Banques de données avancé JOINTURES Alias de noms de champs Quand on a pas le temps de produire un «état» pour présenter les données d une requête, on peux faire appel à SqlPlus.exe et lancer

Plus en détail

Langage SQL (3) 7 septembre IUT Orléans. Sébastien Limet, Denys Duchier Langage SQL (3)

Langage SQL (3) 7 septembre IUT Orléans. Sébastien Limet, Denys Duchier Langage SQL (3) Langage SQL (3) Sébastien Limet Denys Duchier IUT Orléans 7 septembre 2007 Compléments sur le LDD notions de clés contraintes d intégrité index Exemple (MCD) Adhérent NumAdh Nom Prénom Adresse DataNais

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

Indépendance données / applications

Indépendance données / applications Vues 1/27 Indépendance données / applications Les 3 niveaux d abstraction: Plusieurs vues, un seul schéma conceptuel (logique) et schéma physique. Les vues décrivent comment certains utilisateurs/groupes

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Chapitre 3: Modèle relationnel et conception

Chapitre 3: Modèle relationnel et conception LOG660 - Base de données de haute performance Solutions: Chapitre 3: Modèle relationnel et conception QUESTION 1 Plusieurs schémas sont acceptables. Les points à considérer sont: 1. L'agrégation entre

Plus en détail

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle 1. Introduction L algèbre relationnelle est le support mathématique cohérent sur lequel repose le modèle relationnel. L algèbre relationnelle propose un ensemble d opérations élémentaires

Plus en détail

SQL Server 2012 - SQL, Transact SQL Conception et réalisation d'une base de données

SQL Server 2012 - SQL, Transact SQL Conception et réalisation d'une base de données Le modèle relationnel 1. Introduction 9 2. Rappels sur le stockage des données 9 2.1 Les différentes catégories de données 10 2.1.1 Les données de base 10 2.1.2 Les données de mouvement 10 2.1.3 Les données

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail