TP 8: LES OPERATEURS ENSEMBLISTES



Documents pareils
Devoir Data WareHouse

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

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

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

1 Introduction et installation

Le Langage SQL version Oracle

Le langage SQL Rappels

1. Introduction Création d'une requête...2

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

A QUOI SERVENT LES BASES DE DONNÉES?

TD n 10 : Ma première Base de Données

Bases de Données Avancées

Bases de données relationnelles

AGRÉGATION «ÉCONOMIE ET GESTION»

Les mises à disposition de personnels ou de matériels

Avertissement : ceci est un corrigé indicatif qui n engage que son auteur

Les bases de données

Bases de Données. Plan

Systèmes d information et bases de données (niveau 1)

Modèle conceptuel : diagramme entité-association

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

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

Langage SQL : créer et interroger une base

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

Introduction aux Bases de Données

Intégrité sémantique dans les bases de données relationnelles

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

UML et les Bases de Données

16H Cours / 18H TD / 20H TP

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

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

TP3 : Creation de tables 1 seance

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Emprunt bancaire immobilier

Création de Sous-Formulaires

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

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

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

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

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

Bases de Données Relationnelles. Le Modèle Relationnel

Rappel sur les bases de données

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

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

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

INTRODUCTION AU DATA MINING

Cours 1 : introduction

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

MINISTERE DE LA DEFENSE

Cours SQL. Base du langage SQL et des bases de données

SCIENCES - TECHNOLOGIES - SANTE. STIC : Sciences et Technologies de l Information et de la Communication. Parcours Informatique

Les BASES de DONNEES dans WampServer

Objectifs du TP : Initiation à Access

Fonctionnalités Fid'Elite

ENQUÊTE ACCÈS AU FINANCEMENT

CHAPITRE III: L'ENSEIGNEMENT ET LA RECHERCHE

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Attentes et transitions vers les études postsecondaires : sondage auprès des élèves de 12 e année des Maritimes

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

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

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

FileMaker 13. Guide de référence SQL

Bases de données élémentaires Maude Manouvrier

Est-il possible d'être sur la 1ère page de Google?

MODE OPERATOIRE OPENOFFICE BASE

Modèle Entité/Association

LibreOffice Calc : introduction aux tableaux croisés dynamiques

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

V o ir la v ie e n Ble ue. Plan Hypothécaire. Un plan d assurance hypothécaire sécurisant pour votre prêt et votre marge de crédit...

TP Bases de données réparties

Documentation pour l envoi de SMS

Ressources affectées Selon l instruction n M9 du 18 mai 1993 Fiche de gestion financière

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

SOMMAIRE. Travailler avec les requêtes... 3

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

Bases de données - Modèle relationnel

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

Les Entrepôts de Données

Le Langage De Description De Données(LDD)

Stéphane Crozat NF17 3. Travaux Dirigés 3. Université de Technologie de Compiègne Génie Informatique

Si colocation, indiquer le montant de la participation au loyer net mensuel Si autre domicile, préciser

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Marque déposée pour le compte d Action Logement

Utilisation d Hyperplanning 2011

Calculateur de primes de l'ofsp Manuel

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Bases de données cours 1

Corrigé de l'atelier pratique du module 6 : Transfert de données

Vincent Augusto

Modélisation des données

Transcription:

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 de deux requêtes ou plus en un seul résultat, les requêtes utilisant ces opérateurs sont appelès requêtes composées, Un opérateur ensembliste se place entre deux requêtes comme le montre la syntaxe simplifiée suivante : Le langage SQL programme les opérations binaires suivantes : UNION, UNION ALL, INTERSECT, et MINUS Le nombre de colonnes et le type de données doivent être identiques dans les deux ordres SELECT, mais les noms peuvent être différents. II.1 L'opérateur UNION: L'opérateur UNION permet de fusionner des données de deux tables en excluant les lignes identiques. Exemple: Lister les fonctions exécutées par l'employé numéro 102. Select Employee_id, job_title from Employees E, Jobs J where E.Job_id=J.Job_id AND Employee_id=102 UNION Select E.Employee_id, job_title from Employees E, Jobs J, Job_history JH where E.Job_id=JH.Job_id AND JH.job_id=J.Job_id AND Employee_id=102; 1

II.2 L'opérateur UNION ALL: L'opérateur UNION ALL permet de fusionner des données de deux tables en incluant les lignes identiques. Le mot clè DISTINCT ne peut pas être utilisé. II.3 L'opérateur INTERSECT: L'opérateur INTERSECT extrait des données présentes simultanément dans les deux tables ; II.4 L'opérateur MINUS: L'opérateur MINUS permet d'extraire des données présentes dans une table sans être présentes dans la deuxième table ; Exemple: Afficher les employés du département 10, qui n'ont jamais occupés la fonction d'administrateur.. Select Employee_id, First_name from Employees where department_id=10 MINUS Select E.Employee_id, First_name from Employees E, Jobs J, Job_history JH where E.Job_id=JH.Job_id AND JH.job_id=J.Job_id AND J.job_title='Administrateur'; 2

Partie II: Application Soit le schéma de base de donnée relationnel suivant : AGENCE (Num_Agence, Nom, Ville, Actif) CLIENT (Num_Client, Nom, Ville) COMPTE (Num_Compte, #Num_Agence, #Num_Client, Solde) EMPRUNT (Numémprunt, #Num_Agence, #Num_Client, Montant) 1. Clients ayant un compte ou un emprunt à la ville Nabeul 2. Clients ayant un compte et un emprunt à la ville Nabeul 3. Clients ayant un compte et pas d emprunt à la ville Nabeul 4. Liste des agences ayant des comptes-clients. 5. Clients ayant un compte à la ville Nabeul. 6. Clients ayant un compte et nom de la ville où ils habitent 7. Clients ayant un compte à l'agence Paris-Etoile et nom de la ville où ils habitent 8. Clients ayant un compte dans une agence où Claude a un compte. 9. Agences ayant un actif plus élevé que toute agence de la ville Tunis 10. Clients ayant un compte dans chaque agence à Tunis 11. Clients ayant un compte dans au-moins une agence à Tunis 12. Emprunteurs de l'agence Paris-Etoile classés par ordre alphabétique 13. Solde moyen des comptes-clients de chaque agence 14. Solde moyen des comptes-clients des agences dont le solde moyen est > 10 000 15. Nombre de clients habitant à Tunis 16. Nombre de clients de l'agence Paris-Bastille n'ayant pas leur adresse dans la relation CLIENT 17. Insérer l'enregistrement <Martin, Paris> dans la table CLIENT avec le numéro 130765 18. Diminuer l'emprunt de tous les clients habitant à Nabeul de 5% 19. Fermer les comptes de Dupont 20. Supprimer de la relation AGENCE toutes les agences sans client. 3

Partie III: Exercices de révision Exercice 1: Soit l'exemple de gestion d'une école dont le schéma relationnel suivant: ELEVES (NUMELEVE, NOM, PRENOM, DATE_NAISSANCE, POIDS, ANNEE) COURS (NUMCOURS, NOM, NBHEURES, ANNEE) PROFESSEURS (NUMPROF, NOM, SPECIALITE, DATE_ENTREE, DER_PROM, SALAIRE_BASE, SALAIRE_ACTUEL) ACTIVITES (NOM,NIVEAU, EQUIPE) RESULTATS (#NUMELEVE,#NUMCOURS, POINTS ) CHARGE (#NUMPROF, #NUMCOURS) ACTIVITES_PRATIQUEES (#NUMELEVE, #NIVEAU, #NOM) 1. Créez la BD ECOLE. 2. Modifiez la structure de la table ELEVES: Ajoutez les attributs : CodePostal de type numérique sur 5 positions, Ville de type caractère sur 20 positions. 3. Mise à jour des adresses des ELEVES: Mettez à jour les adresses des ELEVES de numéro 1, 2 et 7 (respectivement) avec les données suivantes (codepostal et ville): 8000, nabeul 2000 ; tunis 4000 ; sfax 4. Obtenir la liste des nom, prénom et date de naissance de tous les élèves. 5. Obtenir tous les renseignements sur toutes les activités. 6. Obtenir la liste des spécialités des professeurs. 7. Obtenir le nom et prénom des élèves pesant moins de 45 kilos et inscrits en 1ére année ou des élèves inscrits en 2éme année. 8. Obtenir le nom des élèves dont le poids est compris entre 60 et 80 kilos. 9. Obtenir le nom des professeurs dont la spécialité est 'JAVA' ou 'SQL'. 10. Obtenir le nom des élèves dont le nom commence par 'L'. 11. Obtenir le nom des professeurs dont la spécialité est inconnue. 12. Obtenir le nom et prénom des élèves pesant moins de 45 kilos et inscrits en 1ére année. 13. Obtenir, pour chaque professeur, son nom et sa spécialité. Si cette dernière est inconnue, on souhaite afficher la chaîne de caractères :'****'. 14. Quels sont les noms et prénoms des élèves qui pratiquent de l'activité SPORT au niveau 1. Rédigez cette requêtes de plusieurs façons différentes. 4

15. Obtenir le nom des élèves de l'équipe 'AMC INDUS'. 16. Pour chaque enseignant spécialité SQL, on demande d'obtenir son nom, son salaire mensuel actuel et son augmentation mensuelle depuis son salaire de base. 17. Obtenir le nom des professeurs dont l'augmentation relative au salaire de base dépasse 25%. 18. Afficher les points de 'Saleh' obtenus dans chaque cours sur 100 plutôt que sur 20. 19. Obtenir le poids moyen des élèves de 1ére année.. 20. Obtenir le total des points de l'élève numéro 3. 21. Obtenir la plus petite et la plus grande cote de l'élève 'Sami'. 22. Obtenir le nombre d'élèves inscrits en deuxième année. 23. Quelle est l'augmentation mensuelle moyenne des salaires des professeurs de SQL? 24. Obtenir l'année de la dernière promotion du professeur 'Ibrahim'. 25. Pour chaque professeur, afficher sa date d'ébauche, sa date de dernière promotion ainsi que le nombre d'années écoulées entre ces deux dates. 26. Afficher l'âge moyen des élèves. Cet âge moyen sera exprimé en année. 27. Afficher le nom des professeurs pour lesquels il s'est écoulé plus de 50 mois entre l'embauche et la première promotion. 28. Obtenir la liste des élèves qui auront au moins 24 ans dans moins de 4 mois. 29. Obtenir une liste des élèves classés par année et par ordre alphabétique. 30. Afficher en ordre décroissant les points de 'Khaled' obtenus dans chaque cours sur 100 plutôt que sur 20. 31. Obtenir pour chaque élève de 1ére année son nom et sa moyenne. 32. Obtenir la moyenne des points de chaque élève de 1ére année dont le total des points est supérieur à 40. 33. Obtenir le maximum parmi les totaux de chaque élève. 34. Obtenir le nom des élèves qui jouent dans l'équipe AMC INDUS. 35. Quels sont les élèves de 1ére année dont la moyenne est supérieure à la moyenne de la 1ére année? 36. Obtenir le nom et le poids des élèves de 1ére année plus lourds que n'importe quel élève de 2éme année. 37. Obtenir le nom et le poids des élèves de 1ére année plus lourds qu'un élève quelconque de 2éme année.. 38. Obtenir le nom, le poids et l'année des élèves dont le poids est supérieur au poids moyen des élèves étant dans la même année d'études. 39. Obtenir le nom des professeurs qui ne donnent pas le cours numéro 1. 40. Obtenir le nom des élèves de 1ére année qui ont obtenu plus de 60 % et qui jouent au tennis. 41. Obtenir le numéro et le nom des professeurs qui prennent en charge TOUS les cours de deuxième année. 42. Obtenir le numéro et le nom des élèves qui pratiquent TOUTES les activités. 5

Exercice 2: Soit la base de données d'université suivante : Etudiant (NumEt, NomEt, Adresse) Enseignant(NumEns, NomEns, Grade) UE(NumUE, Titre) Enseigne(#NumUE, #NumEns) Inscription(#NumEt, #NumUE, Annee, Note) 6. 7. 8. 9. 10. 11. 12. 13. 14. 6