Fichier de rejeu Close

Indication Close

A propos de... Close

Commentaire Close

Systèmes d'Information

  • Notions mathématiques
  • Calcul relationnel
  • Algèbre relationnelle
  • Langage de requêtes
  • Arbre de requêtes
  • QCM
  • Introduction
  • Commandes de bases
  • Langage de définition de données
  • Types de données
  • Requêtes
  • Présentation
  • Calcul relationnel
  • Algèbre relationnelle
  • Division relationnelle
  • Dépendances fonctionnelles
  • Décomposition de relations
  • Inférence logique
  • Normalisation
  • Aux pays des bières
  • Modélisation
  • Exercices
  • Présentation
  • Aux pays des bières
  • Au Tournoi des six nations
    • Modèle de données
    • Recherches d’informations
      • Sur une table
      • Sur plusieurs tables
      • Opérations ensemblistes
      • Division relationnelle
      • Fonctions d'agrégat
      • Groupements
    • Arbres de requêtes
  • Salles de concerts
  • Définitions
  • Langage SQL
  • Modèle relationnel
  • Films
  • Repas
  • Repas
Index

Téléchargements

  • Site
  • Sources
  • EniBook
logo

Crédits

© Your Copyright

Aide

En-tête

MenuContenu
Sommaire,
Téléchargements
Aide sur les outils

Pied de page

ChevronAction
Aller en haut de la page courante
Aller en bas de la page courante
Passer à la page précédente
Passer à la page suivante

Operations ensemblistes

L’objectif de ces exercices est de savoir formuler des opérations ensemblistes (\(\cup,\cap,\setminus\)) « Au tournoi des six nations ».

3/3 Union, Intersection, Différence
  1. Union
    • Question
    • Solution
    Ecrire une requête SQL répondant à la question :
    • \(Q_1\) : « récupérer les noms du coach et des joueurs du XV de France ».
    Votre réponse :
    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
    Une solution possible :

    On fait une union (\(\cup\)) entre la requête permettant de récupérer le nom du coach du XV de France dans l’ensemble des equipes et celle pour rechercher les joueurs de l’équipe du XV de France dans l’ensemble des joueurs. Pour obtenir d’abord le nom du coach on pourra faire un UNION ALL qui concatène le résultat des deux requêtes.

    Ecriture en algèbre relationnelle :

    • \(R_1 = \sigma_{[id\_equipe='FRA']}(equipes)\)
    • \(P_1 = \Pi_{(coach)}(R_1)\)
    • \(R_2 = \sigma_{[id\_equipe='FRA']}(joueur)\)
    • \(P_2 = \Pi_{(nom)}(R_2)\)
    • \(Q_1 = \cup(P_1,P_2)\)
    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
  2. Intersection
    • Question
    • Solution

    Ecrire une requête SQL répondant à la question :

    • \(Q_1\) : « récupérer les joueurs qui ont été selectionnés dans le XV de France pendant le tournoi des 6 nations ».
    Votre réponse :
    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
    Une solution possible :

    On fait une intersection (\(\cap\)) entre la requête permettant de récupérer le nom des joueurs du XV de France dans joueurs et celle permettant de récupérer le nom des joueurs qui ont été sélectionnés (jointure naturelle entre les tables joueurs,selections).

    Ecriture en algèbre relationnelle :

    • \(R_1 = \sigma_{[id\_equipe='FRA']}(joueurs)\)
    • \(P_1 = \Pi_{(nom)}(R_1)\)
    • \(NJ_1 = \Join_{[]}(joueurs,selections)\)
    • \(P_2 = \Pi_{(nom)}(NJ_1)\)
    • \(Q_1 = \cap(P_1,P_2)\)

    On pourra faire une requête imbriquée avec un IN (\(\in\)).

    On pourra aussi faire une requête imbriquée avec un EXISTS (\(\exists\)).

    Enfin on pourra faire une jointure naturelle entre les tables joueurs,selections en récupérant les joueurs sélectionnés dans le XV de France.

    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
  3. Différence
    • Question
    • Solution

    Ecrire une requête SQL répondant à la question :

    • \(Q_1\) : « récupérer les joueurs qui n’ont pas été selectionnés dans le XV de France pendant le tournoi des 6 nations ».
    Votre réponse :
    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
    Une solution possible :

    On fait une différence (\(\setminus\)) entre la requête permettant de récupérer le nom des joueurs du XV de France dans joueurs et celle permettant de récupérer le nom des joueurs qui ont été sélectionnés (jointure naturelle entre les tables joueurs,selections).

    Ecriture en algèbre relationnelle :

    • \(R_1 = \sigma_{[id\_equipe='FRA']}(joueurs)\)
    • \(P_1 = \Pi_{(nom)}(R_1)\)
    • \(NJ_1 = \Join_{[]}(joueurs,selections)\)
    • \(P_2 = \Pi_{(nom)}(NJ_1)\)
    • \(Q_1 = \setminus(P_1,P_2)\)

    On pourra faire une requête imbriquée avec un NOT IN (\(\notin\)).

    On pourra aussi faire une requête imbriquée avec un NOT EXISTS (\(\notexists\)).

    On ne pourra pas faire une jointure naturelle entre les tables joueurs,selections en faisant une restriction sur les joueurs du XV de France et en faisant une diffférence entre l’identifiant du joueur dans l’ensemble des joueurs et l’identifiant du joueur dans l’ensemble des sélections.

    sql : essai.sql
    
        
    >
    Output
    
                    

    Interpréteur

    MenuAction
    Ré-initialiser les sorties
    Faire apparaître le menu d'aide
    Interpréter le programme

    Editeur

    MenuRaccouciAction
    Ctrl+N Initialiser l'éditeur
    Ctrl+O Charger le contenu d'un fichier dans l'éditeur
    Ctrl+S Sauvegarder le contenu de l'éditeur dans un fichier
    Ctrl+P Imprimer le contenu de l'éditeur
    Ctrl+Z Annuler la dernière modification
    Maj+Ctrl+Z Rétablir la modification précedente
    Ctrl+F Chercher une expression dans l'éditeur
    Maj+Ctrl+F Chercher et remplacer une expression par une autre
    F10 Ouvrir une documentation du langage

    RaccourciAction
    F1 Afficher cette aide
    Tab Indenter la sélection
    Maj+Tab Désindenter la sélection
    Ctrl+A Sélectionner le contenu de l'éditeur
    Ctrl+C Copier la sélection dans le presse-papier
    Ctrl+V Remplacer la sélection par le contenu du presse-papier
    Ctrl+X Supprimer la sélection et la copier dans le presse-papier
    Maj+Ctrl+R Chercher et remplacer une expression par une autre dans tout l'éditeur
 
Systèmes d'Information : Operations ensemblistes, 12 févr. 2018.