Excercice a resoudre
Résolu
tytyke
-
Anonyme -
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 .
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
-
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 étudiantSELECT 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.-
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.
-
-
-
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
-
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
-
-
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. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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|