Chapitre 6 Les sous-requêtes
|
|
- Léonie Marois
- il y a 8 ans
- Total affichages :
Transcription
1 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 formuler une condition que l on utilise dans une autre requête dite requête principale. Supposons qu on veuille afficher les noms s employés qui sont mieux payés que ALLEN. Pour résoudre ce problème nous avons besoin ux requêtes ; la première est dite sous-requête et servira à extraire le salaire ALLEN. La uxième est dite requête principale et servira à extraire les noms s employés en question en utilisant le résultat la sous-requête. Il existe ux grans familles sous-requêtes ; les sous-requêtes corrélées (synchronisées, ou encore dites dépendantes). L exécution ce type requêtes dépend la requête principale d où la corrélation. Ce type requêtes est complexe, il sera traité dans une section ultérieure (don t worry). La uxième famille est celle s sous-requêtes non corrélées, et dont ne dépend pas celle la requête principale. La sous-requête est alors exécutée la première, son résultat est utilisé séparément pour la requête principale. 6.1 Les sous-requêtes simples (non corrélées) Une sous-requête simple peut être incluse dans les clauses : - WHERE - HAVING - FROM. Dans le cas où elle est incluse dans les ux premières clauses, le résultat la sous-requête est utilisé comme étant un critère recherche. Utilisée dans la 3 ème clause, la sous-requête retourne une relation (table virtuelle) à partir laquelle on pourrait extraire nos données. Lorsque la sousrequête est utilisée dans les ux premières clauses, la requête principale a la forme suivante : SELECT colonne(s) FROM table WHERE exp OPERATEUR (SELECT colonne FROM table) ; Il est évint qu il doit y avoir une certaine cohérence entre l expression exp qu on a besoin comparer (expression recherche, généralement une colonne), l opérateur comparaison OPERATEUR et le résultat la sous-requête. En d autres termes, la condition la clause WHERE doit être construite logiquement (on ne peut pas comparer une colonne à une liste valeurs si l opérateur est =). Une sous-requête simple retourne une relation à une seule ligne ou à plusieurs lignes. La famille s sous-requêtes simples peut être alors divisée en ux sous-familles, les sous-requêtes produisant une seule ligne et les sous-requêtes produisant plusieurs lignes.
2 Les sous-requêtes produisant une seule ligne Ce type sous-requête produit une relation à une seule ligne. L opérateur comparaison OPERATEUR est alors un opérateur comparaison classique (=,>,,<,,!=). REQ 45 Afficher les noms et les salaires s employés mieux payés que ALLEN? SELECT ENAME, SAL FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME= ALLEN ) ; Ici, nous avons besoin d une seule valeur, le salaire Mr ALLEN. Imaginez que la sousrequête retourne plusieurs lignes (plusieurs salaires). Dans ce cas la comparaison n aura aucun sens et la requête principale retourne une erreur. REQ 46 Afficher l employé le moins payé dans l entreprise? SELECT * FROM EMP WHERE SAL=(SELECT MIN(SAL) FROM EMP) ; Il faut savoir qu on peut comparer par couples valeurs (plus généralement un uplet valeurs). Dans ce cas, la sous-requête est autorisée à produire une relation à une seule ligne et à plusieurs colonnes, on ne peut utiliser que les opérateurs = ou!=. REQ 47 Afficher les employés ayant le même job et département que MARTIN? SELECT ENAME, JOB, DEPTNO FROM EMP WHERE (DEPTNO,JOB)=(SELECT DEPTNO, JOB FROM EMP WHERE ENAME= MARTIN ) ; Les sous-requêtes produisant plusieurs lignes Ce type sous-requête doit être utilisé avec les opérateurs convenables. Ces opérateurs sont : - IN suivie d une liste valeurs, la condition est vraie si notre exp est égale à l une s valeurs la liste. - op ANY suivie d une liste valeurs, la condition est vraie si la comparaison (en utilisant l opérateur op) est vraie pour n importe quelle valeur la liste. - op ALL suivie d une liste valeurs, la condition est vraie si la comparaison (en utilisant l opérateur op) est vraie pour chaque valeur la liste. (Ici, op est un opérateur comparaison classique).
3 29 REQ 48 Afficher les employés les moins payés pour chaque département? SELECT ENAME, SAL, DEPTNO FROM EMP WHERE SAL IN (SELECT MIN(SAL) FROM EMP GROUP BY DEPTNO) ; ENAME SAL DEPTNO SMITH JAMES MILLER Maintenant, supposons que l employé ADAMS qui travaille dans le département 20 a le salaire 1300 au lieu ADAMS sera affiché, car son salaire figure parmi les valeurs que retourne la sous-requête. Cette solution présente donc une faille, elle affichera tous les employés dont le salaire est 1300, et non seulement les employés du département 10 et dont le salaire est 1300 ( même pour les valeurs 950 et 800). La bonne solution doit prendre en compte le DEPTNO dans la comparaison. REQ 49 Afficher les employés les moins payés pour chaque département? SELECT ENAME, SAL, DEPTNO FROM EMP WHERE (SAL,DEPTNO) IN (SELECT MIN(SAL),DEPTNO FROM EMP GROUP BY DEPTNO) ; Les opérateurs ANY et ALL peuvent être utilisés avec tous les opérateurs comparaison classiques si on veut comparer une colonne à plusieurs valeurs. La requête aura la forme suivante : SELECT colonne(s) FROM table WHERE exp OPERATEUR_CLASSIC ANY/ALL (SELECT colonne REQ 50 FROM table) ; Afficher les employés qui sont mieux payés que tous les employés du département 30? SELECT ENAME, SAL FROM EMP WHERE SAL > ALL (SELECT SAL FROM EMP WHERE DEPTNO=30) ; On peut aussi comparer une liste colonnes (uplet colonnes) au résultat d une sousrequête ramenant plusieurs colonnes et plusieurs lignes. La requête aura la forme suivante : SELECT colonne(s) FROM table
4 30 WHERE (exp 1,exp 2,,exp n ) OPERATEUR_CLASSIC ANY/ALL (SELECT exp 1,exp 2,,exp n FROM table) ; Dans ce cas, l opérateur classique ne peut être que = et!=. Il faut noter que : - = ANY IN -!= ALL NOT IN - = ALL et!= ANY n on aucun sens. Une ligne et une colonne Une ligne et plusieurs colonnes Plusieurs lignes et une colonne =,!=,>,,<, =,!= Plusieurs lignes et plusieurs colonnes [NOT] IN [NOT] IN (=,!=,>,,<, ) ANY/ALL = ANY ;!=ALL Récapitulatif s sous-requêtes simples : Opérateurs utilisés selon le nombre colonnes et lignes retournées REQ 51 Afficher les départements ayant une moyenne salaires supérieure à celle du département 30? SELECT DEPTNO, AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING AVG(SAL)>(SELECT AVG(SAL) FROM EMP REQ 52 WHERE DEPTNO=30) ; Afficher le job ayant la plus gran moyenne salaires? SELECT JOB, AVG(SAL) FROM EMP GROUP BY JOB HAVING AVG(SAL)=(SELECT MAX(AVG(SAL)) FROM EMP GROUP BY JOB) ; Il est à noter qu on ne peut pas trier une sous-requête. On ne peut utiliser la clause ORDER BY qu à la fin la requête principale pour trier le résultat final. 6.2 Les sous-requêtes corrélées (synchronisées) Une sous-requête corrélée est une sous-requête dont l évaluation se fait pour chaque ligne la requête principale. Supposons qu on veut afficher les employés dont le salaire est supérieur à la moyenne s salaires leurs départements. La condition la clause WHERE doit être
5 31 spécifique à chaque employé, dans la mesure ou chaque employé a un département, et chaque département a une moyenne salaires différente. REQ 53 Afficher les employés dont le salaire est supérieur à la moyenne salaires dans leurs départements? SELECT * FROM EMP E WHERE SAL>(SELECT AVG(SAL) FROM EMP WHERE E.DEPTNO=DEPTNO) ; L exécution cette requête se produit ainsi : 1- La requête principale fixe une ligne la table EMP. 2- Ayant E.DEPTNO, la sous-requête est évaluée. 3- La condition la clause WHERE la requête principale est évaluée, la ligne est retournée ou non suivant la valeur la condition. 4- Itération s étapes 1, 2 et 3 pour les lignes restantes la table EMP. 6.3 L opérateur EXISTS L opérateur EXISTS est généralement suivi d une sous-requête corrélée. Cet opérateur prend la valeur VRAI si la sous-requête ramène au moins une ligne, et la valeur FAUX si la sous-requête ne ramène aucune ligne. Dans le cas où cet opérateur est suivi d une sous-requête simple, il y aura exécution celle-ci et dès qu elle ramène une ligne EXISTS prend la valeur VRAI et la requête principale affiche toutes les lignes. Si la sous-requête ne ramène aucune ligne, alors la requête principale ne retourne aucune ligne. Il en découle l inutilité d une sous-requête simple venant après l opérateur EXISTS, car dans ce cas il y aura affichage toute les lignes (si EXISTS est VRAI) ou d aucune (si EXISTS est FAUX). REQ 54 Afficher les employés qui dirigent au moins un autre employé? SELECT * FROM EMP M WHERE EXISTS (SELECT * FROM EMP E WHERE M.EMPNO=E.MGR); Ici, pour chaque employé la table EMP, la sous-requête est exécutée. Pour SMITH, la sous-requête (SELECT * FROM EMP WHERE MGR=7369 ) ne retourne aucune ligne, EXISTS prend la valeur FAUX et notre employé ne sera pas affiché. Il faut noter qu en général dans la sous-requête, la clause SELECT peut contenir n importe quelle colonne, expression, fonction ou même littéral (constante) car ce qui importe pour notre opérateur, c est le nombre lignes retournées (0 ou au moins 1).
6 32 La requête précénte peut être réalisée par la jointure ou par l opérateur IN : REQ 55 SELECT DISTINCT M.EMPNO, M.ENAME, M.JOB, M.DEPTNO FROM EMP E, EMP M WHERE E.MGR=M.EMPNO ; REQ 56 SELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP WHERE EMPNO IN (SELECT DISTINCT MGR FROM EMP) ; REQ 57 EMPNO ENAME JOB DEPTNO 756 JON MANAGE ES BLA R MANAGE KE CLA R MANAGE RK SCO R ANALYS TT KIN T PRESID G FOR D ENT ANALYS T 20 Afficher les employés qui n existent dans aucun département DEPT? SELECT * FROM EMP WHERE NOT EXISTS (SELECT DEPTNO FROM DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO); Aucune ligne sélectionnée. REQ 58 Afficher les départements dans lesquelles n existe aucun employé? SELECT * FROM DEPT WHERE NOT EXISTS (SELECT * FROM EMP WHERE EMP.DEPTNO=DEPT.DEPTNO); REQ 59 Afficher les départements qui ont au moins un employé ayant un salaire supérieur à ? SELECT DNAME FROM DEPT WHERE EXISTS(SELECT * FROM EMP
7 33 WHERE DEPTNO=DEPT.DEPTNO AND SAL>1000); 6.4 NOT EXISTS vs NOT IN Les ux opérateurs peuvent être utilisés pour résoudre la même interrogation, mais il existe une différence entre les ux. REQ 60 Afficher les employés qui ne dirigent aucun autre employé? SELECT M.EMPNO, M.ENAME FROM EMP M WHERE NOT EXISTS (SELECT * FROM EMP E WHERE E.MGR=M.EMPNO); Cette solution nous affiche huit employés dont l EMPNO ne figure pas dans la colonne MGR (ne sont donc pas s managers). REQ 61 SELECT EMPNO, ENAME FROM EMP WHERE EMPNO NOT IN (SELECT MGR FROM EMP) ; Cette solution, apparemment correcte, n affiche aucune ligne, car la sous-requête simple retourne la valeur NULL. Ecrivons la même requête en développant l opérateur NOT IN : SELECT EMPNO, ENAME FROM EMP WHERE EMPNO!=7566 AND EMPNO!=7566 AND AND EMPNO!=NULL ; Or toute expression logique comparant la valeur NULL à une colonne est mise à FAUX, et puisque les expressions logiques la clause WHERE sont connectées par s AND, alors c est toute la condition qui portera la valeur FAUX. Le problème peut être corrigé en utilisant la fonction NVL, ou en restreignant les valeurs NULL via la clause WHERE, ou tout simplement en utilisant l opérateur NOT EXISTS. 6.5 La division et le NOT EXISTS C est une opération algébrique dont on n a pas spécifié d opérateur. Il s agit diviser une relation R par une autre relation S sur les colonnes qui sont communes. Le résultat est une relation D composé par les colonnes non communes entre R et S. La division R par S sur l attribut B est la relation D définie par : D = { a R[ A]/ b S,( a, b) R } = { a R[ A]/ b S,( a, b) R } R
8 34 A B a1 b1 a1 b2 a2 b1 S /B B = b1 b2 D A a1 Remarquez que le produit cartésien S et D est inclus dans la relation R. Ici, D contient les a i qui sont en relation avec tous les b i S. D est alors le résultat la question suivante : Donnez les a i R qui sont en relation avec tous les b i S? Mais on peut reformuler cette question d une autre manière : Donnez chaque a i R tel qu il n existe aucun b i S qui ne soit pas en relation avec a i? Ainsi la traduction la division dans le langage SQL se fait ainsi : REQ 62 SELECT A FROM R R1 WHERE NOT EXISTS(SELECT B FROM S L exécution cette requête est la suivante : WHERE NOT EXISTS(SELECT A, B FROM R R2 WHERE R2.A=R1.A AND R2.B=S.B); Requête principale 1 ère sous-requête 2 ème sous-requête Fixer la 1 ère valeur A qui est a1. Pour retourner a1, nous sommes obligés passer à la 1 ère sous-requête pour évaluer la 1 ère clause WHERE. a1 sera retourné s il n existe aucune ligne dans cette sous-requête.
9 35 Requête principale 1 ère sous-requête 2 ème sous-requête Fixer la 1 ère valeur B qui est b1. Pour retourner b1, il faut que la 2 ème sous requête ne retourne aucune ligne, cette rnière est (SELECT * FROM R WHERE A=a1 AND B=b1). Celle-ci retourne une ligne. (a1,b1) b1 ne sera pas retournée. aucune ligne Fixer la 2 ème valeur B qui est b2. Pour retourner b2, il faut que la 2 ème sous requête ne retourne aucune ligne, cette rnière est (SELECT * FROM R WHERE A=a1 AND B=b2). Celle-ci retourne une ligne. (a1,b2) b1 ne sera pas retournée. aucune ligne Tous les b i sont vérifiés. Retour à la requête principale. aucune ligne
10 36 Requête principale 1 ère sous-requête 2 ème sous-requête NOT EXISTS est vrai pour a1 a1 Fixer le 2 ème A qui est a2 Fixer la 1 ère valeur B qui est b1.pour retourner b1, il faut que la 2 ème sous requête ne retourne aucune ligne, cette rnière est (SELECT * FROM R WHERE A=a2 AND B=b1). Celle-ci retourne une ligne. (a2,b1) b1 ne sera pas retournée. aucune ligne Fixer la 2 ème valeur B qui est b2.pour retourner b2, il faut que la 2 ème sous requête ne retourne aucune ligne, cette rnière est (SELECT * FROM R WHERE A=a2 AND B=b2). Celle-ci ne retourne aucune ligne. aucune ligne.
11 37 Requête principale 1 ère sous-requête 2 ème sous-requête b2 sera alors retournée b2 il existe une ligne dans la 1ère sousrequête. Donc a2 sera rejetée. final D={a1} Le même résultat peut être obtenu en utilisant le langage algébrique : R[A] MINUS ((R[A] TIMES S[B]) MINUS R[A,B])[A] La traduction en langage SQL est la suivante : REQ 63 SELECT A FROM R MINUS SELECT A FROM (SELECT R.A, S.B FROM R, S MINUS SELECT A, B FROM R) On peut aussi calculer pour chaque a i, la différence entre (tous les b i S) et (les b i avec qui il est en relation). Si cette différence donne l ensemble vi, c est que notre a i est en relation avec tous les b i S :
12 38 REQ 64 SELECT A FROM R R1 WHERE NOT EXISTS ( SELECT B FROM S MINUS SELECT B FROM R R2 WHERE R2.A=R1.A); Finalement, la division peut aussi se produire cette manière ; calculer le nombre bi distincts pour chaque ai et le comparer avec le nombre total bi dans S. Cette métho n est pas aussi robuste que les trois qui ont précédé car non efficace dans certaines situations. REQ 65 SELECT A FROM R GROUP BY A HEVING COUNT(DISTINCT B) = (SELECT COUNT(B) FROM S); Ou encore : REQ 66 SELECT A FROM R R1 WHERE (SELECT COUNT(DISTINCT B) FROM R R2 WHERE R2.A=R1.A)=(SELECT COUNT(B) FROM S); Soient les tables suivantes : F (NF, NOMF, VILLE) P (NP, NOMP, COULEUR, POIDS, VILLE) J (NJ, NOMJ, VILLE) FPJ (NF, NJ, NP, QTE) REQ 67 Donner les fournisseurs qui livrent toutes les pièces P? SELECT NF FROM FPJ X WHERE NOT EXISTS(SELECT NP FROM P WHERE NOT EXISTS(SELECT NF, NP FROM FPJ Y WHERE Y.NF=X.NF AND Y.NP=P.NP));
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étailOptimisation 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étailLe 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étailINTRODUCTION AU DATA MINING
INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre
Plus en détailLangage 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étailBases de données cours 4 Construction de requêtes en SQL. Catalin Dima
Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations
Plus en détailLangage 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étailECR_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étailSupport de cours «SGBD»
Direction Générale Institut Supérieur des Des Etudes Technologiques Etudes ******** DGET ******* Technologiques du Kef Support de cours «SGBD» Réalisé par : BOUKCHIM Mosaab (AT-Iset de Kef) HOSNI Anis
Plus en détail1. LA GESTION DES BASES DE DONNEES RELATIONNELLES
Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de
Plus en détailPlan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD
Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.
Plus en détailTD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009
TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour
Plus en détailInitiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012
Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève
Plus en détailCours 4 : Agrégats et GROUP BY
Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types
Plus en détailIntroduction au Système de Gestion de Base de Données et aux Base de Données
Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière
Plus en détailLe 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étail16H Cours / 18H TD / 20H TP
INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES
Plus en détailTP 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étailLangage 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étail1 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étailSQL 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étailCours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry
Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans
Plus en détailCOMMANDES 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étailCours 4. Gestion de la performance. DBA - Maîtrise ASR - Université Evry
Cours 4 Gestion de la performance 1 Performance? De quelles performance parle-t on? Quels sont les éléments actifs et quels sont leurs rôles respectifs? Quels sont les mesures de performance significatives
Plus en détailIFT3030 Base de données. Chapitre 2 Architecture d une base de données
IFT3030 Base de données Chapitre 2 Architecture d une base de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées
Plus en détailLes 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étailclef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE
Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données
Plus en détailTable 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étail1. 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étail1 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Évaluation et optimisation de requêtes
Évaluation et optimisation de requêtes Serge Abiteboul à partir de tranparents de Philippe Rigaux, Dauphine INRIA Saclay April 3, 2008 Serge (INRIA Saclay) Évaluation et optimisation de requêtes April
Plus en détailBases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
Plus en détaildonnées en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Plus en détail1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228
Intro Modèle Algèbre SQL Stockage Intro Modèle Algèbre SQL Stockage Plan du cours Les Bases de Données Rattrapages École Centrale de Paris Nicolas Travers Équipe Vertigo Laboratoire CEDRIC Conservatoire
Plus en détail14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.
Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables
Plus en détailBases 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étailINSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.
INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements
Plus en détailBases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
Plus en détailSystèmes de Gestion de Bases de Données
Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailExemple 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étailCré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étailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailTP 8: LES OPERATEURS ENSEMBLISTES
TP 8: LES OPERATEURS ENSEMBLISTES OBJECTIFS : Apprendre la création des requêtes avec les opérateurs ensemblistes: MINUS, UNION et INTERSECT. Partie I: Présentation Un opérateur d'ensemble combine le résultat
Plus en détailSQL Server et Active Directory
SQL Server et Active Directory Comment requêter AD depuis SQL Server Comment exécuter des requêtes de sélection sur un Active Directory depuis SQL Server? L'utilisation du principe des serveurs liés adapté
Plus en détailPlan 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étailTD n 10 : Ma première Base de Données
TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données
Plus en détailFileMaker 13. Guide de référence SQL
FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de
Plus en détailBases de données réparties: Fragmentation et allocation
Pourquoi une base de données distribuée? Bibliographie Patrick Valduriez, S. Ceri, Guiseppe Delagatti Bases de données réparties: Fragmentation et allocation 1 - Introduction inventés à la fin des années
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailVincent Augusto 2010-2011
le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73 le des Un 2/73 1 2 3 4 le 5 6 7 8 Un le des Un 3/73 Contenu du cours : Techniques pour l analyse
Plus en détailLes bases fondamentales du langage Transact SQL
Les bases fondamentales du langage Transact SQL Version 1.0 Grégory CASANOVA James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Les bases fondamentales du langage Transact SQL Sommaire 1 Introduction...
Plus en détail2 Serveurs OLAP et introduction au Data Mining
2-1 2 Serveurs OLAP et introduction au Data Mining 2-2 Création et consultation des cubes en mode client-serveur Serveur OLAP Clients OLAP Clients OLAP 2-3 Intérêt Systèmes serveurs et clients Fonctionnalité
Plus en détailAuto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium
Auto-évaluation SQL Document: f0453test.fm 19/04/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INTRDUCTIN AUT-ÉVALUATIN SQL Indications d utilisation Ce test est
Plus en détailCours SQL. Base du langage SQL et des bases de données
Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution
Plus en détailBusiness Intelligence
avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................
Plus en détailCours: Les Jointures 1
Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2
Plus en détailBase de données relationnelle et requêtes SQL
Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,
Plus en détailCORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»
Corrigé Cours de Mr JULES v3.3 Classe de Quatrième Contrat 1 Page 1 sur 13 CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» «Correction en rouge et italique.» I. Les nombres décimaux relatifs.
Plus en détailInformation 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étailCOURS SQL. SQL*Plus PL/SQL
COURS SQL & SQL*Plus & PL/SQL SQL 1. INTRODUCTION 7 1.1. DEFINITIONS 7 1.2. L OFFRE ORACLE 9 1.3. LES COMMANDES 10 1.4. LES OBJETS 11 2. INTERROGATION DES DONNEES 12 2.1. SYNTAXE DU VERBE SELECT 12 2.2.
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailOracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK
Oracle Décisionnel : Modèle OLAP et Vue matérialisée SOMMAIRE Introduction Le modèle en étoiles Requêtes OLAP Vue matérialisée Fonctions Roll up et Cube Application Introduction Data Warehouse Moteur OLAP
Plus en détailTP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager
TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation
Plus en détailUniversité de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin
Université de Nice Sophia-Antipolis Langage SQL version 5.7 du polycopié Richard Grin 4 janvier 2008 Table des matières Présentation du polycopié vi 1 Introduction 1 1.1 Présentation de SQL.......................
Plus en détailSQL. 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étailIntroduction : présentation de la Business Intelligence
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3WXIBUSO dans la zone de recherche et validez.
Plus en détailSystèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche
Répartition, Parallèlisation, hétérogénéité dans les SGBD AI Mouaddib Département Informatique Université de Caen Systèmes d informations nouvelles générations! Constat :! Utilisation de nouveaux support
Plus en détailINTRODUCTION : Données structurées et accès simplifié
INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration
Plus en détailOracle : SQL. Denis Roegel roegel@loria.fr IUT Nancy 2 1998/1999. 1 Introduction 2
Oracle : SQL Denis Roegel roegel@loria.fr IUT Nancy 2 1998/1999 Table des matières 1 Introduction 2 2 Types de données 2 2.1 Numérique.............................................. 2 2.2 Date..................................................
Plus en détailTP 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étailBases 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étailPartie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.
Présentation Excel 7 Fonctions plus complexes dans Excel Partie 1 Sandra Michelet Département Informatique Pédagogique Université Stendhal, Grenoble III Fonctions Si(), Et(), Ou() et fonctions imbriquées
Plus en détailMysql avec EasyPhp. 1 er mars 2006
Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe
Plus en détailBTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Plus en détailBases 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étailSage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8
Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailTP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3
TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3 03/11/2014 Plan du TP 2 Présentation de la suite Microsoft BI Ateliers sur SSIS (2H) Ateliers sur RS (2H) 3 Présentation de la suite Microsoft BI Présentation
Plus en détailPartie II Cours 3 (suite) : Sécurité de bases de données
Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction
Plus en détailBusiness Intelligence avec Excel, Power BI et Office 365
Avant-propos A. À qui s adresse ce livre? 9 1. Pourquoi à chaque manager? 9 2. Pourquoi à tout informaticien impliqué dans des projets «BI» 9 B. Obtention des données sources 10 C. Objectif du livre 10
Plus en détailBases de données. Mihaela Mathieu
Bases de données 2004-2005 Mihaela Mathieu mathieu@emse.fr Objectifs : comprendre et maîtriser les fonctions d un SGBD relationnel (Oracle et MySQL) connaître le langage SQL savoir développer une application
Plus en détailChapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties
Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr Chapitre 1 1. Introduction : Notion de Bases
Plus en détailDu 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étailConstruction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création
Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des
Plus en détailFaculté 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étailIntroduction aux Bases de Données 2004/2005
Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil
Plus en détailSQL 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étailUtiliser Access ou Excel pour gérer vos données
Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que
Plus en détailExcel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr
Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments
Plus en détailMise à jour du STAN S31 au logiciel R6F
Mise à jour du STAN S31 au logiciel R6F 1 2 Table des matières Mise à jour du STAN S31 au logiciel R6F... 3 STAN S31 software update form... 5 i Mise à jour du STAN S31 au logiciel R6F Ce document décrit
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage
Plus en détailSQL 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étailGestion 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... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.
Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions. Question 1 Donnez la traduction en modèle relationnel du schéma Entité-Association
Plus en détailDossier 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étailLa 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