begin process at 2012 05 26 12:21:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Comment faire montrer moi la piste


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment faire montrer moi la piste

jeudi 18 septembre 2008 à 13:04:14 | Comment faire montrer moi la piste

devap

 

Salut;
Je débute en informatique et Je dois réaliser mon premier projet permettant la gestion des examens des étudiants.
J'ai les tables suivantes :

Etudiant :

ID_Etudiant

Nom

 

 

 

 Matière

ID_matière_

Coefficient

ID_Module

 

Notation

ID_Etudiant

ID_Matière

Note

Année_universitaire

 

Module :

ID_Module

Libelle_module

 

Moyenne_module :

ID_Etudiant

ID_Module

Moyenne

Année_Universitaire

 

Année universitaire :

Année_universitaire

 

J'ai enregistré les notes dans Notation mais je me suis planté dans le calcule des moyennes je ne sais pas comment faire

 

Je cherche à obtenir une fiche comme suit :

ID_Etudiant

Moyenne_module1

Myenne_module2

Moyenne_module3

 

 

 Par exemple pour le module1

Id_matiere

Id_module

 

11

Module1

 

21

Module1

 

31

Module1

 

 Donc la moyenne _module1 sera :

(note(11)*coefficient(11)+ note(21)*coefficient(21)+ note(31)*coefficient(31))/ (coefficient(11)+ coefficient(21)+ coefficient(31))

 merci de m'avoir lu et de me montrer la piste à suivre.

jeudi 18 septembre 2008 à 14:36:45 | Re : Comment faire montrer moi la piste

nhervagault

Administrateur CodeS-SourceS
Salut,

Dans un premier temps,
On ne met pas des titres sans intérets.

Dans un second temps,
On n'est pas la pour résoudre des exercices.

Dans un troisième temps,
Ta base de données semblent mal modélisées.

Ou tes demandes ne sont pas faites pour etre traitée en SQL pur
exemple

ID_Etudiant

Moyenne_module1

Myenne_module2

Moyenne_module3

Ne peut etre géré simplement, il faut utiliser des pivots ou CTE ou autre pour y arriver

En général on ne stocke pas des valeurs en base de données (comme la moyenne) si cette valeur peut etre calculée

Dans la table notation il me semble qu'il serait logique d'avoir plusieurs notes pour une année pour un etudiant et une matière.

Bonne modélisation
jeudi 18 septembre 2008 à 16:08:28 | Re : Comment faire montrer moi la piste

devap

Merci

J'ai compris que je dois pas avoir moyenne dans la table moyenne_module
Pour la table notation l'étudiant a une note /matière pour une année avec ma modélisation la note de rattrapage supprime la première note je sais pas comment faire pour garder les 2 notes.
Apart cela j'ai pas compris ce qui ne va pas dans ma modéisation.

Si non j'ai  calculé les moyenne avec sql suivant mais après cela je sais pas quoi faire:
SELECT     SUM(NOTATION.NOTE * MATIERE.COEFF) / SUM(MATIERE.COEFF) AS MP, MATIERE.ID_MODULE, NOTATION.NUM_INSCRIPTION
FROM         MATIERE INNER JOIN
                      NOTATION ON MATIERE.ID_MATIERE = NOTATION.ID_MATIERE INNER JOIN
                      MODULE ON MATIERE.ID_MODULE = MODULE.ID_MODULE
GROUP BY MATIERE.ID_MODULE, NOTATION.NUM_INSCRIPTION
ORDER BY MATIERE.ID_MODULE
merci de m'aider svp.
jeudi 18 septembre 2008 à 21:53:49 | Re : Comment faire montrer moi la piste

nhervagault

Administrateur CodeS-SourceS
Une requete ne peut faire avec du SQL simple une ecriture du style
C'est à dire avec des nom de colonnes dynamiques (a moins d'utiliser des requetes de type PIVOT)

ID_Etudiant

Moyenne_module1

Myenne_module2

Moyenne_module3


Sinon la modélisation peut être correcte à moins que tu veux garder les notes avant le rattrapage

La requete que tu propose est-elle bonne?

Je ne vois pas ou est ton problème

vendredi 19 septembre 2008 à 12:04:04 | Re : Comment faire montrer moi la piste

devap

Merci infiniment nhervagault

Donc pour avoir la fiche suivante je dois faire pivot table

ID_Etudiant

Moyenne_module1

Myenne_module2

Moyenne_module3


Pour les notes avant le rattrapage ça sera un plus de les garder mais j'ai pas trouvé une façon d'insérer d'un seul coup les notes d'une colonne d'une grid à part update et update me supprime les notes précédentes.
je travail avec aspx.

je sais pas si vous avez une idée??

merci encore

vendredi 19 septembre 2008 à 13:14:50 | Re : Comment faire montrer moi la piste

nhervagault

Administrateur CodeS-SourceS
Pour gérer simplement les notes de rattrapage tu ajoutes une colonne supplementaire 'derniereNote' de type bit

Lorsque tu creer la note1 tu la passes à vrai
apres à l'insertion de la note de ratrapage tu mets l'anciene note à false
et celle du rattrapage à vrai

et pour la moyenne du prend que les notes à vraies.

C'est assez simple à mettre en place.

Si tu veux les 2 notes de ton etudiant il faut pas mettre de filtre  derniereNote dans la clause where ;-)


vendredi 19 septembre 2008 à 13:53:50 | Re : Comment faire montrer moi la piste

devap

Merci beaucoup je vais suivre vos conseils.
merci


Cette discussion est classée dans : module, id, coefficient, module1, etudiant


Répondre à ce message

Sujets en rapport avec ce message

Problème : requêtes sans résultat [ par cirtey ] Bonjour;Je suis sous mysql server 5 et je travaille avec mysql browser.J'ai fait 4 requêtes qui ne donnent aucune ligne en résultat et il n' y a pas d pivot pour nombre de champs inconnu [ par sarra0 ] Bonjour, J'ai une table MATIERE(id_ma,libelle_ma,id_module) 11_____matière1_____1 12_____matière2_____1 13_____matière3_____2 pour préparer la fiche d requete d'insertion avec condition [ par josuedesign ] j'ai un probleme de requete sql. mes tables: etudiant ([U][B]id-etud[/B][/U],nom_etud,email_etud) etudiant-stock([U][B]id-etud-st[/B][/U],nom_etud_st, Optimisation SQL [ par master2i ] Bonjour à tous, j'ai un tri par couleur à réaliser qui met en jeu plusieurs tables SQL, je l'ai réalisé mais le temps de chargement de ma page est pas Index [ par crn_c21 ] Bonjour, J'ai une petite question (surement bète!) sur les index(SQL 2005). Si dans une Table je crée un Index A sur le champ Id(asc) et que sur cet Jointures externes compliquées [ par fred02 ] Bonjour, je tente de faire une requête sql mais sans succès. voici le schéma PERSONNE (#ID,Nom,Prenom) TABLE(#ID,Titre,#PERSONNE) PARTIE(#ID,Date,PE insertion valeur dans une table avec id (auto increment) [ par fenomeno18 ] Salut à tous Je viens de crée un mini projet avec vb 2008 et sql server je veux insérer des valeur dans une table qui contient un id auto increment Question de PIVOT [ par cudenetf ] Bonjour, je souhaite effectuer une requete me permettant de lister tous les achats d'un type de produit (avec affichage qté et n° de facture pour un t Selection Multiple sur un Champ [ par amadine ] Bonjour J'ai deux tables la première est [b]PERSONNE [/b]([u]Id_personne[/u], Nom, Prenom, Adresse)et la seconde est [b]MAISON[/b]([u]id_maison[/u], afficher premiere ligne de chaque valeur differente d'une colone [ par sammy_88 ] Bonjour à tous, J'ai un base de données SQL. Dans cette base j'ai une liste de compte utilisateurs qui sont dans des départements généralement 2-3. L


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales