IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

exercice a faire


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de amazircool
    Inscrit en
    Décembre 2005
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 497
    Par défaut exercice a faire
    Salut , je ne sais pas est ce que déjà quel un entre nous qui a travailler sur ce série des exercices,j l e trouvé très intéressant, et moi aussi j’aurai une petite question sur la correction 4

    4- Quelles sont les moyennes par matière ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT LibelléMat, AVG(MoyEtuMat) 
    FROM MOYETUMAT 
    GROUP BY LibelléMat ;

    Pourquoi après FROM, on trouve MOYETUMAT sachant que cette table n'existe pas ?

    Merci .
    autre question.
    Si je implémente se série des requêtes sur SQL serveur “ analyseur de requête” est ce que le syntaxes sa change?


    ======================================
    Exercice n°1
    Soit le modèle relationnel suivant relatif à une base de données sur des
    représentations musicales :

    REPRESENTATION (n°représentation, titre_représentation, lieu)
    MUSICIEN (nom, n°représentation*)
    PROGRAMMER (date, n°représentation*, tarif)


    Remarque : les clés primaires sont soulignées et les clés étrangères sont
    marquées par *
    Questions :
    1 - Donner la liste des titres des représentations.
    2 - Donner la liste des titres des représentations ayant lieu à l'opéra Bastille.
    3 - Donner la liste des noms des musiciens et des titres des représentations
    auxquelles ils participent.
    4 - Donner la liste des titres des représentations, les lieux et les tarifs pour la

    2
    Correction de l'exercice n°1
    1 - Donner la liste des titres des représentations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT titre_représentation FROM REPRESENTATION ;
    2 - Donner la liste des titres des représentations ayant lieu à l'opéra Bastille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT titre_représentation FROM REPRESENTATION 
    WHERE lieu="Opéra Bastille" ;
    3 - Donner la liste des noms des musiciens et des titres des représentations
    auxquelles ils participent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT nom, titre_représentation 
    FROM MUSICIEN, REPRESENTATION
    WHERE MUSICIEN.n°représentation = REPRESENTATION.n°représentation ;
    4 - Donner la liste des titres des représentations, les lieux et les tarifs pour la
    journée du 14/09/96.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT titre_représentation, lieu, tarif 
    FROM REPRESENTATION, PROGRAMMER 
    WHERE PROGRAMMER.n°représentation = 
    REPRESENTATION.n°représentation 
    AND date='14/06/96' ;

    Exercice n°2
    Soit le modèle relationnel suivant relatif à la gestion des notes annuelles d'une
    promotion d'étudiants :
    ETUDIANT(N°Etudiant, Nom, Prénom)
    MATIERE(CodeMat, LibelléMat, CoeffMat)
    EVALUER(N°Etudiant*, CodeMat*, Date, Note)
    Remarque : les clés primaires sont soulignées et les clés étrangères sont
    marquées par *
    Questions :
    1 - Quel est le nombre total d'étudiants ?
    2 - Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la
    plus basse ?
    3 - Quelles sont les moyennes de chaque étudiant dans chacune des matières ?
    4 - Quelles sont les moyennes par matière ?
    On utilisera la requête de la question 3 comme table source
    5 - Quelle est la moyenne générale de chaque étudiant ?
    On utilisera la requête de la question 3 comme table source
    6 - Quelle est la moyenne générale de la promotion ?
    On utilisera la requête de la question 5 comme table source
    7 - Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à
    la moyenne générale de la promotion ?
    On utilisera la requête de la question 5 comme table source

    4
    Correction de l'exercice n°2
    1 - Quel est le nombre total d'étudiants ?
    SELECT COUNT(*) FROM ETUDIANT ;
    2 - Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la
    plus basse ?
    SELECT MIN(Note), MAX(Note) FROM EVALUER ;
    3 - Quelles sont les moyennes de chaque étudiant dans chacune des matières?
    SELECT ETUDIANT.N°Etudiant, Nom, Prénom, LibelléMat, CoeffMat,
    AVG(Note) AS MoyEtuMat
    FROM EVALUER, MATIERE, ETUDIANT
    WHERE EVALUER.CodeMat = MATIERE.CodeMat
    AND EVALUER.N°Etudiant = ETUDIANT.N°Etudiant
    GROUP BY ETUDIANT.N°Etudiant, Nom, Prénom, LibelléMat, CoeffMat;
    =============================================
    4 - Quelles sont les moyennes par matière ?
    SELECT LibelléMat, AVG(MoyEtuMat)
    FROM MOYETUMAT
    GROUP BY LibelléMat ;
    ============================================
    5 - Quelle est la moyenne générale de chaque étudiant ?
    SELECT N°Etudiant, Nom, Prénom,
    SUM(MoyEtuMat*CoeffMat)/SUM(CoeffMat) AS MgEtu
    FROM MOYETUMAT
    GROUP BY N°Etudiant, Nom, Prénom ;
    6 - Quelle est la moyenne générale de la promotion ?
    Avec la vue MGETU de la question 5 :
    SELECT AVG(MgEtu)
    FROM MGETU ;
    7 - Quels sont les étudiants qui ont une moyenne générale supérieure ou
    égale à la moyenne générale de la promotion ?
    Avec la vue MGETU de la question 5 :
    SELECT N°Etudiant, Nom, Prénom, MgEtu
    FROM MGETU
    WHERE MgEtu >= (SELECT AVG(MgEtu) FROM MGETU) ;

    Exercice n°3
    Soit le modèle relationnel suivant relatif à la gestion simplifiée des étapes du
    Tour de France 97, dont une des étapes de type "contre la montre individuel" se
    déroula à Saint-Etienne :
    EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif)
    COUREUR(NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*)
    PAYS(CodePays, NomPays)
    TYPE_ETAPE(CodeType, LibelléType)
    ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, CodeType*)
    PARTICIPER(NuméroCoureur*, NuméroEtape*, TempsRéalisé)
    ATTRIBUER_BONIFICATION(NuméroEtape*, km, Rang, NbSecondes,
    NuméroCoureur*)
    Remarque : les clés primaires sont soulignées et les clés étrangères sont
    marquées par *
    Questions :
    1 - Quelle est la composition de l'équipe Festina (Numéro, nom et pays des
    coureurs) ?
    2 - Quel est le nombre de kilomètres total du Tour de France 97 ?
    3 - Quel est le nombre de kilomètres total des étapes de type "Haute
    Montagne"?
    4 - Quels sont les noms des coureurs qui n'ont pas obtenu de bonifications ?
    5 - Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
    6 - Quel est le classement général des coureurs (nom, code équipe, code pays et
    temps des coureurs) à l'issue des 13 premières étapes sachant que les
    bonifications ont été intégrées dans les temps réalisés à chaque étape ?
    7 - Quel est le classement par équipe à l'issue des 13 premières étapes (nom et
    temps des équipes) ?
    COPEMED - Formation SGBD - ACCESS Tunis, 25 septembre – 2 octobre 2001
    6
    Correction de l'exercice n°3
    1 - Quelle est la composition de l'équipe FESTINA (Numéro, nom et pays des
    coureurs) ?
    SELECT NuméroCoureur, NomCoureur, NomPays
    FROM EQUIPE A, COUREUR B, PAYS C
    WHERE A.CodeEquipe=B.CodeEquipe And B.CodePays=C.CodePays
    And NomEquipe="FESTINA" ;
    2 - Quel est le nombre de kilomètres total du Tour de France 97 ?
    SELECT SUM(Nbkm) FROM ETAPE ;
    3 - Quel est le nombre de kilomètres total des étapes de type HAUTE
    MONTAGNE ?
    SELECT SUM(Nbkm) FROM ETAPE A, TYPE_ETAPE B
    WHERE A.CodeType=B.CodeType And LibelléType="HAUTE MONTAGNE" ;
    4 - Quels sont les noms des coureurs qui n'ont pas obtenu de bonifications ?
    SELECT NomCoureur FROM COUREUR
    WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM
    ATTRIBUER_BONIFICATION) ;
    5 - Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
    SELECT NomCoureur FROM PARTICIPER A, COUREUR B
    WHERE A.NuméroCoureur=B.NuméroCoureur
    GROUP BY NuméroCoureur, NomCoureur
    HAVING COUNT(*)=(SELECT COUNT(*) FROM ETAPE) ;
    6 - Quel est le classement général des coureurs (nom, code équipe, code pays
    et temps des coureurs) à l'issue des 13 premières étapes sachant que les
    bonifications ont été intégrées dans les temps réalisés à chaque étape ?
    SELECT NomCoureur, CodeEquipe, CodePays, SUM(TempsRéalisé) AS Total
    FROM PARTICIPER A, COUREUR B
    WHERE A.NuméroCoureur=B.NuméroCoureur and NuméroEtape<=13
    GROUP BY A.NuméroCoureur, NomCoureur, CodeEquipe, CodePays
    ORDER BY Total;
    7 - Quel est le classement par équipe à l'issue des 13 premières étapes (nom et
    temps des équipes) ?
    SELECT NomEquipe, SUM(TempsRéalisé) AS Total
    FROM PARTICIPER A, COUREUR B, EQUIPE C
    WHERE A.NuméroCoureur=B.NuméroCoureur And
    B.CodeEquipe=C.CodeEquipe
    And NuméroEtape<=13
    GROUP BY B.CodeEquipe, NomEquipe
    ORDER BY Total;

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Par défaut reponse dans le texte.
    "4 - Quelles sont les moyennes par matière ?
    On utilisera la requête de la question 3 comme table source
    "
    Ils ont surement cree une vue...

    Autre question : Est ce compatible avec SQL Serveur ? Faut essayer...Cela ne doit pas demander trop d'effort pour le porter sur SQL Serveur...

Discussions similaires

  1. Quelques exercices de Pascal à faire
    Par david belle dans le forum Pascal
    Réponses: 2
    Dernier message: 04/12/2008, 01h10
  2. Comment faire la Clôture d'exercice
    Par badrel dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 12/04/2007, 09h22
  3. Pages d'exercices à faire pour l'autoformation ?
    Par [thebadskull] dans le forum Evolutions du club
    Réponses: 13
    Dernier message: 15/06/2004, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo