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

Recherches sur plusieurs tables

L’objectif de ces exercices est de savoir représenter sous forme d’arbre de requêtes une requête sur une plusieurs tables de la base de données « Au Tournoi des six nations ».

2/2 Au Tournoi des six nations : INNER, NATURAL, OUTER
  1. Produit cartésien et restriction
    • Question
    • Solution

    Construire un arbre de requêtes répondant à la question :

    • \(Q_1\) : « Rechercher les informations sur les matchs et les joueurs des équipes qui ont marqués (essais,transformations, penalites) ».

    Le résultat sera trié par l’identifiant des équipes qui jouent à domicile et le nom de joueurs qui ont marqués

    Votre réponse :
    Arbre de requêtes : graph184.json

    Tables

    Opérateurs unaires

    Opérateurs binaires

    Vue d'ensemble
    id_matchid_locauxid_visiteursjourhorairelocaux_scorevisiteurs_scorestadespectateursid_joueurid_equipenomprenompositionnationalitenaissancetaillepoidsessaistransformationspenalites
    1ECOIRL2017-02-0415:25:002722Murrayfield671442ECOHoggStuartArriereEcosse1992-06-241.880200
    1ECOIRL2017-02-0415:25:002722Murrayfield671443ECODunbarAlex3/4 centreEcosse1990-04-231.9180100
    1ECOIRL2017-02-0415:25:002722Murrayfield671441ECOLaidlawGreg1/2 meleeEcosse1985-10-121.7580032
    1ECOIRL2017-02-0415:25:002722Murrayfield671447IRLEarlsKeith3/4 centreIrlande1987-10-021.880100
    1ECOIRL2017-02-0415:25:002722Murrayfield671448IRLHendersonIain2eme ligneIrlande du Nord1992-02-211.9880100
    1ECOIRL2017-02-0415:25:002722Murrayfield671449IRLJacksonPaddy1/2 ouvertureIrlande du Nord1990-04-051.7880121
    2ANGFRA2017-02-0417:50:001916Twickenham8190214ANGTe'oBencentreNouvelle-Zélande1987-01-271.8980100
    2ANGFRA2017-02-0417:50:001916Twickenham8190215ANGFarrellOwen3/4 centreAngleterre1991-09-241.8880013
    2ANGFRA2017-02-0417:50:001916Twickenham8190216ANGDalyElliot3/4 centreAngleterre1992-10-081.8480001
    2ANGFRA2017-02-0417:50:001916Twickenham8190219FRASlimaniRabahPilierFrance1989-10-181.7880100
    2ANGFRA2017-02-0417:50:001916Twickenham8190220FRALopezCamille1/2 ouvertureFrance1989-04-031.7580013
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098623ITAGoriEdoardo1/2 meleeItalie1990-03-051.7880100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098624ITACannaCarlo1/2 ouvertureItalie1992-08-251.9180010
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098626GALDaviesJonathan3/4 centreAngleterre1988-04-051.8680100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098627GALWilliamsLiam3/4 ailePays de Galles1991-04-091.8880100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098628GALNorthGeorge3/4 aileAngleterre1992-04-131.9280100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098629GALHalfpennyLeighArrierePays de Galles1988-12-221.7880034
    5GALANG2017-02-1117:50:001621Millennium Stadium7450027GALWilliamsLiam3/4 ailePays de Galles1991-04-091.8880100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450029GALHalfpennyLeighArrierePays de Galles1988-12-221.7880013
    5GALANG2017-02-1117:50:001621Millennium Stadium7450016ANGDalyElliot3/4 centreAngleterre1992-10-081.8480100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450017ANGYoungsTomTalonneurAngleterre1987-01-281.7580100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450015ANGFarrellOwen3/4 centreAngleterre1991-09-241.8880013
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019724ITACannaCarlo1/2 ouvertureItalie1992-08-251.9180011
    4ITAIRL2017-02-1115:25:001063Stadio olympico501977IRLEarlsKeith3/4 centreIrlande1987-10-021.880200
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019710IRLStanderChristiaan Johan3eme ligne centreAfrique du Sud1992-01-051.8980300
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019711IRLGilroyCraig3/4 aileIrlande du Nord1991-03-111.8380300
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019712IRLRingroseGarry3/4 centreIrlande1995-01-261.8780100
    4ITAIRL2017-02-1115:25:001063Stadio olympico501979IRLJacksonPaddy1/2 ouvertureIrlande du Nord1990-04-051.7880090
    6FRAECO2017-02-1216:00:002216Stade de France7528321FRAFickouGael3/4 centreFrance1994-03-291.980100
    6FRAECO2017-02-1216:00:002216Stade de France7528320FRALopezCamille1/2 ouvertureFrance1989-04-031.7580015
    6FRAECO2017-02-1216:00:002216Stade de France752832ECOHoggStuartArriereEcosse1992-06-241.880100
    6FRAECO2017-02-1216:00:002216Stade de France752835ECOSwinsonTim2eme ligneAngleterre1987-02-171.9580100
    6FRAECO2017-02-1216:00:002216Stade de France752834ECORussellFinn1/2 ouvertureEcosse1992-09-231.8380002
    Une solution possible :

    On peut faire un produit cartésien (\(\times\)) entre les tables matchs,selections,joueurs en vérifiant que chaque joueur de l’ensemble des joueurs est bien lié aux matchs par les selections. On récupère seulement les joueurs qui ont marqués des essais,transformations ou penalités.

    Ecriture en algèbre relationnelle :

    • \(R_1 = \sigma_{[essais > 0 \lor transformations > 0 \lor penalites > 0]}(selections)\)
    • \(T_1 = \times(R_1,joueurs)\)
    • \(R_2 = \sigma_{[R_1.id\_joueur=joueurs.id\_joueur]}(T_1)\)
    • \(T_2 = \times(matchs,R_2)\)
    • \(Q_1 = \sigma_{[matchs.id\_match=R_2.id\_match]}(T_2)\)

    N.B. : Lors de l’écriture de la requête, attention à la priorité du \(\land\) logique sur le \(\lor\) logique .

    On peut aussi faire une jointure naturelle (\(\Join_{[]}\)) puisque les matchs sont liés aux joueurs par des noms de colonnes communes (id_match,id_joueur) sur la table selections.

    Ecriture en algèbre relationnelle :

    • \(R_1 = \sigma_{[essais > 0 \lor transformations > 0 \lor penalites > 0]}(selections)\)
    • \(NJ_1 = \Join_{[]}(R_1,joueurs)\)
    • \(NJ_2 = \Join_{[]}(matchs,NJ_1)\)
    Arbre de requêtes : sixnations-6.json

    Tables

    Opérateurs unaires

    Opérateurs binaires

    Vue d'ensemble
    id_matchid_locauxid_visiteursjourhorairelocaux_scorevisiteurs_scorestadespectateursid_joueurid_equipenomprenompositionnationalitenaissancetaillepoidsessaistransformationspenalites
    1ECOIRL2017-02-0415:25:002722Murrayfield671442ECOHoggStuartArriereEcosse1992-06-241.880200
    1ECOIRL2017-02-0415:25:002722Murrayfield671443ECODunbarAlex3/4 centreEcosse1990-04-231.9180100
    1ECOIRL2017-02-0415:25:002722Murrayfield671441ECOLaidlawGreg1/2 meleeEcosse1985-10-121.7580032
    1ECOIRL2017-02-0415:25:002722Murrayfield671447IRLEarlsKeith3/4 centreIrlande1987-10-021.880100
    1ECOIRL2017-02-0415:25:002722Murrayfield671448IRLHendersonIain2eme ligneIrlande du Nord1992-02-211.9880100
    1ECOIRL2017-02-0415:25:002722Murrayfield671449IRLJacksonPaddy1/2 ouvertureIrlande du Nord1990-04-051.7880121
    2ANGFRA2017-02-0417:50:001916Twickenham8190214ANGTe'oBencentreNouvelle-Zélande1987-01-271.8980100
    2ANGFRA2017-02-0417:50:001916Twickenham8190215ANGFarrellOwen3/4 centreAngleterre1991-09-241.8880013
    2ANGFRA2017-02-0417:50:001916Twickenham8190216ANGDalyElliot3/4 centreAngleterre1992-10-081.8480001
    2ANGFRA2017-02-0417:50:001916Twickenham8190219FRASlimaniRabahPilierFrance1989-10-181.7880100
    2ANGFRA2017-02-0417:50:001916Twickenham8190220FRALopezCamille1/2 ouvertureFrance1989-04-031.7580013
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098623ITAGoriEdoardo1/2 meleeItalie1990-03-051.7880100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098624ITACannaCarlo1/2 ouvertureItalie1992-08-251.9180010
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098626GALDaviesJonathan3/4 centreAngleterre1988-04-051.8680100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098627GALWilliamsLiam3/4 ailePays de Galles1991-04-091.8880100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098628GALNorthGeorge3/4 aileAngleterre1992-04-131.9280100
    3ITAGAL2017-02-0515:00:00733Stadio olympico4098629GALHalfpennyLeighArrierePays de Galles1988-12-221.7880034
    5GALANG2017-02-1117:50:001621Millennium Stadium7450027GALWilliamsLiam3/4 ailePays de Galles1991-04-091.8880100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450029GALHalfpennyLeighArrierePays de Galles1988-12-221.7880013
    5GALANG2017-02-1117:50:001621Millennium Stadium7450016ANGDalyElliot3/4 centreAngleterre1992-10-081.8480100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450017ANGYoungsTomTalonneurAngleterre1987-01-281.7580100
    5GALANG2017-02-1117:50:001621Millennium Stadium7450015ANGFarrellOwen3/4 centreAngleterre1991-09-241.8880013
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019724ITACannaCarlo1/2 ouvertureItalie1992-08-251.9180011
    4ITAIRL2017-02-1115:25:001063Stadio olympico501977IRLEarlsKeith3/4 centreIrlande1987-10-021.880200
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019710IRLStanderChristiaan Johan3eme ligne centreAfrique du Sud1992-01-051.8980300
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019711IRLGilroyCraig3/4 aileIrlande du Nord1991-03-111.8380300
    4ITAIRL2017-02-1115:25:001063Stadio olympico5019712IRLRingroseGarry3/4 centreIrlande1995-01-261.8780100
    4ITAIRL2017-02-1115:25:001063Stadio olympico501979IRLJacksonPaddy1/2 ouvertureIrlande du Nord1990-04-051.7880090
    6FRAECO2017-02-1216:00:002216Stade de France7528321FRAFickouGael3/4 centreFrance1994-03-291.980100
    6FRAECO2017-02-1216:00:002216Stade de France7528320FRALopezCamille1/2 ouvertureFrance1989-04-031.7580015
    6FRAECO2017-02-1216:00:002216Stade de France752832ECOHoggStuartArriereEcosse1992-06-241.880100
    6FRAECO2017-02-1216:00:002216Stade de France752835ECOSwinsonTim2eme ligneAngleterre1987-02-171.9580100
    6FRAECO2017-02-1216:00:002216Stade de France752834ECORussellFinn1/2 ouvertureEcosse1992-09-231.8380002
  2. Création de vue
    • Question
    • Solution
    Construire un arbre de requêtes pour créer une vue (\(resultats\)) sur les informations “métier” permettant de visualiser les résultats des matchs du tournoi des six nations :
    • les matchs : (id_locaux,id_visiteurs,jour,locaux_score, visiteurs_score)
    • les joueurs des équipes : (nom, id_equipe)
    • qui ont marqués : essais,transformations, penalites.
    Votre réponse :
    Arbre de requêtes : graph191.json

    Tables

    Opérateurs unaires

    Opérateurs binaires

    Vue d'ensemble
    id_locauxid_visiteursjourlocaux_scorevisiteurs_scorenomid_equipeessaistransformationspenalites
    ECOIRL2017-02-042722HoggECO200
    ECOIRL2017-02-042722DunbarECO100
    ECOIRL2017-02-042722LaidlawECO032
    ECOIRL2017-02-042722EarlsIRL100
    ECOIRL2017-02-042722HendersonIRL100
    ECOIRL2017-02-042722JacksonIRL121
    ANGFRA2017-02-041916Te'oANG100
    ANGFRA2017-02-041916FarrellANG013
    ANGFRA2017-02-041916DalyANG001
    ANGFRA2017-02-041916SlimaniFRA100
    ANGFRA2017-02-041916LopezFRA013
    ITAGAL2017-02-05733GoriITA100
    ITAGAL2017-02-05733CannaITA010
    ITAGAL2017-02-05733DaviesGAL100
    ITAGAL2017-02-05733WilliamsGAL100
    ITAGAL2017-02-05733NorthGAL100
    ITAGAL2017-02-05733HalfpennyGAL034
    GALANG2017-02-111621WilliamsGAL100
    GALANG2017-02-111621HalfpennyGAL013
    GALANG2017-02-111621DalyANG100
    GALANG2017-02-111621YoungsANG100
    GALANG2017-02-111621FarrellANG013
    ITAIRL2017-02-111063CannaITA011
    ITAIRL2017-02-111063EarlsIRL200
    ITAIRL2017-02-111063StanderIRL300
    ITAIRL2017-02-111063GilroyIRL300
    ITAIRL2017-02-111063RingroseIRL100
    ITAIRL2017-02-111063JacksonIRL090
    FRAECO2017-02-122216FickouFRA100
    FRAECO2017-02-122216LopezFRA015
    FRAECO2017-02-122216HoggECO100
    FRAECO2017-02-122216SwinsonECO100
    FRAECO2017-02-122216RussellECO002
    Une solution possible :

    Ecriture en algèbre relationnelle de la requête à mettre dans une vue :

    • \(NJ_1 = \Join_{[]}(selections,joueurs)\)
    • \(NJ_2 = \Join_{[]}(matchs,NJ_1)\)
    • \(R_1 = \sigma_{[essais > 0 \lor transformations > 0 \lor penalites > 0]}(NJ_2)\)
    • \(Q_1 = \Pi_{(id\_locaux, id\_visiteurs, jour, .., essais,transformations, penalites)}(R_1)\)
    Arbre de requêtes : sixnations-7.json

    Tables

    Opérateurs unaires

    Opérateurs binaires

    Vue d'ensemble
    id_locauxid_visiteursjourlocaux_scorevisiteurs_scorenomid_equipeessaistransformationspenalites
    ECOIRL2017-02-042722HoggECO200
    ECOIRL2017-02-042722DunbarECO100
    ECOIRL2017-02-042722LaidlawECO032
    ECOIRL2017-02-042722EarlsIRL100
    ECOIRL2017-02-042722HendersonIRL100
    ECOIRL2017-02-042722JacksonIRL121
    ANGFRA2017-02-041916Te'oANG100
    ANGFRA2017-02-041916FarrellANG013
    ANGFRA2017-02-041916DalyANG001
    ANGFRA2017-02-041916SlimaniFRA100
    ANGFRA2017-02-041916LopezFRA013
    ITAGAL2017-02-05733GoriITA100
    ITAGAL2017-02-05733CannaITA010
    ITAGAL2017-02-05733DaviesGAL100
    ITAGAL2017-02-05733WilliamsGAL100
    ITAGAL2017-02-05733NorthGAL100
    ITAGAL2017-02-05733HalfpennyGAL034
    GALANG2017-02-111621WilliamsGAL100
    GALANG2017-02-111621HalfpennyGAL013
    GALANG2017-02-111621DalyANG100
    GALANG2017-02-111621YoungsANG100
    GALANG2017-02-111621FarrellANG013
    ITAIRL2017-02-111063CannaITA011
    ITAIRL2017-02-111063EarlsIRL200
    ITAIRL2017-02-111063StanderIRL300
    ITAIRL2017-02-111063GilroyIRL300
    ITAIRL2017-02-111063RingroseIRL100
    ITAIRL2017-02-111063JacksonIRL090
    FRAECO2017-02-122216FickouFRA100
    FRAECO2017-02-122216LopezFRA015
    FRAECO2017-02-122216HoggECO100
    FRAECO2017-02-122216SwinsonECO100
    FRAECO2017-02-122216RussellECO002
 
Systèmes d'Information : Recherches sur plusieurs tables, 12 févr. 2018.