Excercice a resoudre

Résolu
tytyke -  
 Anonyme -
Bonjour,
Je debute dans le sql et je ne trouve pas les reponses
Voici mes tables :

Etudiant( Matricule, Nom,Prenom)
Spécialité( Matricule,Specialité)
Note( Matricule,Note,Module)

Et les requêtes que je dois réaliser :
1-La moyenne générale pour chaque spécialité ?
2- La moyenne générale pour chaque étudiant
Donnez moi les reponses svp .
Configuration: Windows XP Internet Explorer 7.0

6 réponses

  1. william7007 Messages postés 344 Statut Membre 46
     
    les gars ont raison
    prochainement essaie de faire un effort et propose une solution pour que l'on te dise si c'est juste ou non

    tout compte fais voici un bref aperçu de ce que je pense moi de ton systeme (MLD)

    Etudiant(etud_matricule, etud_nom, etud_prenom, spec_id)
    Specialite(spec_id, spec_libelle)
    Note(note_id, etud_matricule, modu_id, note_valeur)
    module(modu_id, modu_libelle)

    1. Requete : La moyenne générale pour chaque spécialité
    SELECT spe.spec_libele, AVG(not.note_valeur) as moyenne 
    FROM Specialite spe, Etudiant etu, Note not 
    WHERE spe.spec_id = etu.spec_id 
    AND etu.etud_matricule = not.etud_matricule
    GROUP BY spe.spec_libelle
    


    2. Requete : La moyenne générale pour chaque étudiant
    SELECT etu.etud_nom, etu.etud_prenom, AVG(not.note_valeur) as moyEtud
    FROM Etudiant etu, Note not
    WHERE etu.etud_matricule = not.etud_matricule
    GROUP BY etu.etud_nom, etu.etud_prenom
    


    ici j'espère bien que tu connais la definition de AVG, la table module n'est pas obligatoire ici juste pour te montrer d'où proviens la clef modu_id qui se trouve dans la table Note.
    les clef primaires sont soulignées si tu retrouves le même nom dans l'autre table il s'agit de la clef secondaire (les deux tables sont liées) essaie de reproduire le MCD chez toi et tu veras les migrations des clefs.

    cdlt.
    2
    1. Anonyme
       
      Cooooooooool Ah !ça fait plaisir.
      Maintenant j'ai bien compri. Merci pour tout, j'avais franchement pas pensé etre aide par qqn de cette manière,pour un debutant comme moi.
      C'est sur que vous etes un expert dans la matiere .Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii mille fois william7007.
      cordialement.
      0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    On gagne quoi ?

    ;o)
    0
  3. william7007 Messages postés 344 Statut Membre 46
     
    Slt
    à mon avis tu auras une de ces teribles redondances dans ta tables spécialité
    pourquoi t'aurais pas utiliser la clef primaire de la table spécialité comme clef etrangere dans la table étudiant? et là la premiere requetes aurait été aussi facile
    0
    1. tytyke
       
      Salut,
      Je veux garder l'exercice tel qu'il est , je ne veux rien changer
      1-La moyenne generale pour chaque specialite:
      SELECT ETUDIANT.maticule,ETUDIANT.nom, ETUDIANT.prenom,SPECIALITE.matricule,SPECIALITE.specialite,
      AVG ( note) AS Moyennegenerale
      FROM ETUDIANT, NOTE ,SPECIALITE
      GROUP BY SPECIALITE.matricule,SPECIALITE.specialite;
      2-La moyenne generale pour chaque etudiant:
      SELECT ETUDIANT.maticule,ETUDIANT.nom, ETUDIANT.prenom,AVG ( Moyennegenerale)
      FROM Moyennegenerale
      GROUP BY ETUDIANT.maticule,ETUDIANT.nom, ETUDIANT.prenom;
      Si c'est faux ,donnez moi le vrai svppppppppppppppp
      0
  4. william7007 Messages postés 344 Statut Membre 46
     
    Slt je veux bien t'aider mais je ne trouve pas comment faire la jointure entre la table spécialité et note
    et de plus les clef des tables ne sont pas claire. que signifie MATRICULE c'est la clef de quelle table? ou bien MATRICULE indique la clef de chaque table? be vraiment le MLD n'est pas claire pour moi.
    et les requête que tu as donné plus haut ben je ne pense pas trop elle te donneront des résultats éronnés car il y a risque de produit cartésien que de jointure. c'est le pourquoi je demande de revoir le système

    la plus part des erreur de programme ne sont pas du à l'incompétence des programmeurs mais à la mauvaise spécification des concepteurs. si le programme est mal conçu ben probablement nous auront des résultats faux. ton modèle ne te permet pas de répondre à tes questions (du moins pour moi). revoie le modèle et tu auras une réponse juste
    dsl pour le speech.

    cdlt.
    0
    1. tytyke
       
      Satut,
      Si vous voulez changer les donees des relations faites le mais garder les questions svp doneez moi les reponses svp,j'en ai besoin pour avancer Pour un debutant c'est pas evident?????
      Si je vous dis que c'etait un excercice donné a un examen allez vous me croire?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Là tu demandes clairement qu'on fasse ton boulot. Penses-tu que le jour de l'examen tu pourras avoir une réponse sur CCM ?

    T'aider à résoudre le problème, on peut faire et d'ailleurs william7007 a commencé à te donner des pistes. A toi de bosser maintenant.

    >:o|
    0