Accueil > Forum > > > > suivie des competiteurs
suivie des competiteurs
dimanche 20 décembre 2009 à 21:42:06 |
suivie des competiteurs

phenix057
|
bonsoir
je voudrais crée une base de donnée qui me permettre de suivre les résultats des compétiteur de mon club:
pour cela j'ai pensé qui me fallait 3 table principal
une avec les renseignement des compétiteurs,
nom / prenom / date de naissance / sexe/ age / categorie /
adresse / mail.
une avec les discipline, et comme dans les discipline il existe des sous discipline, (environ 10 discipline et 100 sous discipline)
une sous discipline.
mon problème est comme dans toute compétition il y a des catégorie d'age
exemple :
poussin F et G jusqu'à 11ans
Benjamins F et G de 11ans à 12ans etc etc
je trouve la formule mais la table ne se met pas à jour, pourquoi?
les compétiteurs peuvent pratiquer plusieurs discipline et même plusieurs sous discipline.
mon problème est comment inscrire toute les disciplines de chaque compétiteur pour que lorsque je faire une recherche sur un compétiteur cela me donne toute les discipline et sous discipline qu'il pratique?
après je dois regroupe toute les informations du compétiteur pour lui inscrire s'est score ainsi que la place de la compétition.
et la je ne voir pas dutout comment faire!
merci d'avance pour votre aide
|
|
lundi 21 décembre 2009 à 15:01:54 |
Re : suivie des competiteurs

JeremyLecouvert
|
Réponse acceptée !
Salut,
je trouve la formule mais la table ne se met pas à jour, pourquoi?
Quelle est ta formule et comment mets-tu la table à jour?
Je pense que les champs Age et Categorie ne devraient pas se trouver dans la table Competiteurs, mais soit. Par contre, tu devrais mettre un champ Identifiant (auto-incrémenté) sur ta table. Tu peux très bien avoir 2 Michel Dupont inscrits, ça risque d'être gênant!
lorsque je faire une recherche sur un compétiteur cela me donne toute les discipline et sous discipline qu'il pratique?
Admettons les tables suivantes:
-table Activites (=sous-discipline) ( IdActivite, IdDisc, NomActivite). IdDisc représente la discipline dont dépend l'activité (ex: activité "SautLongueur" -> discipline "athlétisme").
-table Disciplines ( IdDisc, NomDisc).
-table d'association ActiviteCompetiteur ( IdCompetiteur, IdActivite). Elle permet de lier les compétiteurs aux activités qu'ils pratiquent.
A partir de là, pour lister les compétiteurs, leurs activités et les disciplines correspondantes, tu peux lancer cette requête:
Code : SELECT NomCompetiteur, PrenomCompetiteur, NomDiscipline, NomActivite
FROM Competiteurs c, Activites a, Disciplines d, ActiviteCompetiteur ac
WHERE c.IdCompetiteur = ac.IdCompetiteur
AND ac.IdActivite = a.IdActivite
AND a.IdDisc = d.IdDisc
ORDER BY NomCompetiteur, PrenomCompetiteur, NomDiscipline, NomActivite
... lui inscrire s'est score ainsi que la place de la compétition.
Il te faut donc une table de scores.
-table Scores ( IdComp, IdActivite, Score). S'il peut y avoir plusieurs scores pour la même activité (ex: 3 essais au saut à la perche), il faut ajouter un champ qui permettra de les différencier, comme par exemple un n° d'essai, un champ date ou timestamp...
Bon courage!
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
|
|
lundi 21 décembre 2009 à 23:27:09 |
Re : suivie des competiteurs

phenix057
|
bonjour
jusque la s'est se que jamais deja plus ou mien fais ou pense
le seule petit point qui est pas très net s'est dans le code SQL
Code : SELECT NomCompetiteur, PrenomCompetiteur, NomDiscipline, NomActivite
FROM Competiteurs c, Activites a, Disciplines d, ActiviteCompetiteur ac
WHERE c.IdCompetiteur = ac.IdCompetiteur
AND ac.IdActivite = a.IdActivite
AND a.IdDisc = d.IdDisc
ORDER BY NomCompetiteur, PrenomCompetiteur, NomDiscipline, NomActivite
s'est l'ActiviteCompetiteur tu va la cherche ou?
pour la question de la formule de AGE et de la CATEGORIE
pour l'age
Code : dans le NOM du champ
Age: Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
pour la catégorie
Code : dans le nom du champ:
Categorie: EvalCategorie(Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25);[Sexe])
et un module:Function EvalCategorie(Age As Integer, Sexe As String) As String
If Age <= 11 Then
If Sexe = "M" Then
EvalCategorie = "poussinG"
Else
EvalCategorie = "poussinF"
End If
ETC.....ETC.....ETC....
ElseIf Age > 59 Then
If Sexe = "M" Then
EvalCategorie = "Vétérans3"
Else
EvalCategorie = "Vétérans3"
End If
End If
End Function
Merci pour les renseignements que tu ma déjà apporté
|
|
mardi 22 décembre 2009 à 09:45:14 |
Re : suivie des competiteurs

JeremyLecouvert
|
Réponse acceptée !
Salut,
ActiviteCompetiteur est une table d'association. Il y a les tables Competiteurs et Activites. 1 competiteur peut exercer plusieurs activités, et 1 activité peut être exercée par plusieurs compétiteurs. Il te faut donc une table intermédiaire pour lier les compétiteurs aux activités qu'ils exercent.
En gros elle ressemble à ça:
Code : ------------------------------
| IdCompetiteur | IdActivite |
------------------------------
| 1 | 1 |
| 1 | 2 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
| 3 | 4 |
| 4 | 1 |
| 4 | 8 |
------------------------------
pour la question de la formule de AGE et de la CATEGORIE
Je reviens sur ce que je disais dans mon premier post:
Je pense que les champs Age et Categorie ne devraient pas se trouver dans la table Competiteurs
Moi, je créerais une table Catégorie( NomCategorie, AgeMin, AgeMax, Sexe).
L'âge n'a normalement pas besoin de figurer dans ta table puisque c'est un champ calculé. L'idée, c'est de ne garder que les données élémentaires (date de naissance) et de calculer l'âge comme tu le fais, à la volée.
Ensuite, pour trouver la catégorie qui correspond, tu lances une requête:
Code : SELECT NomCategorie FROM Categorie, Competiteur
WHERE Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
>=AgeMin
AND Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
<=AgeMax
AND Categorie.Sexe = Competiteur.Sexe
AND IdCompetiteur = MonCompetiteur
..Avec MonCompetiteur: identifiant du compétiteur que tu veux.
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
|
|
mardi 22 décembre 2009 à 19:41:54 |
Re : suivie des competiteurs

phenix057
|
bonsoir
pour la Table activitecompetiteur s'est une relation entre les tables activité et compétiteur
si s'est sa elle n'apparait pas en ton que table
|
|
mardi 22 décembre 2009 à 22:55:23 |
Re : suivie des competiteurs

phenix057
|
bonsoir
dans le code
SELECT NomCategorie FROM Categorie, Competiteur
WHERE Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
>=AgeMin
AND Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
<=AgeMax
AND Categorie.Sexe = Competiteur.Sexe
AND IdCompetiteur = MonCompetiteur
les point virgule ne doive pas passe en SQL?
le code n'ai pas fermé a la fin ?
|
|
mercredi 23 décembre 2009 à 12:53:50 |
Re : suivie des competiteurs

JeremyLecouvert
|
Réponse acceptée !
Salut,
elle n'apparait pas en ton que table
Cette table est indispensable pour lier Activites et Competiteurs. Ces 2 tables ont une relation "plusieurs à plusieurs" (1 compétiteur peut être lié à plusieurs activités, 1 activité peut être liée à plusieurs compétiteurs), ce n'est pas gérable par un SGBD relationnel. Dans ce cas, il faut décomposer la relation en 2 relations "un à plusieurs", en ajoutant une table intermédiaire. Cette table contient les clés primaires (identifiants) des 2 tables à associer. Ces 2 identifiants constituent la clé primaire de la table d'association. La table contient donc des couples (IdCompetiteur, IdActivite) uniques qui te permettent de retrouver pour chaque compétiteur toutes les activités qu'il pratique... ou dans l'autre sens, retrouver pour chaque activité tous les compétiteurs qui y participent.
les point virgule ne doive pas passe en SQL?
Essaie avec des virgules. Si tu mets ça dans une macro VBA par exemple, la fonction DiffDate s'écrit avec des virgules. Tu peux aussi utiliser une variable pour calculer l'âge et utiliser cette variable dans la requête...
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
|
|
vendredi 25 décembre 2009 à 15:03:37 |
Re : suivie des competiteurs

phenix057
|
bonjour
ok pour les lieu entre les tables compétiteur et activité.
mais je ne voie toujours pas pourquoi tu fais une table intermédiaire?
pour les activités du compétiteur comment fais tu pour lui mettre plusieurs activité?
car la pour le moment j'ai du rajoute un champs activité dans ma table compétiteur pour pouvoir faire une lien
|
|
mercredi 30 décembre 2009 à 17:57:15 |
Re : suivie des competiteurs

phenix057
|
bonjour
j'ai touver pour la catégorie a la place de ton code Code : SELECT NomCategorie FROM Categorie, Competiteur
WHERE Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
>=AgeMin
AND Int(DiffDate("j";[Datedenaissance];Maintenant())/365,25)
<=AgeMax
AND Categorie.Sexe = Competiteur.Sexe
AND IdCompetiteur = MonCompetiteur
j'ai mie
Code : SELECT competiteur.NomCompetiteur, categorie.Nomcategorie
FROM competiteur INNER JOIN categorie ON competiteur.Sexe = categorie.Sexe
WHERE Int(DateDiff("d",[Datenaissance],Now())/365.25) BETWEEN AgeMin AND AgeMax;
et le résultat est correcte
merci
|
|
lundi 4 janvier 2010 à 10:30:56 |
Re : suivie des competiteurs

JeremyLecouvert
|
Salut,
je ne voie toujours pas pourquoi tu fais une table intermédiaire?
comment fais tu pour lui mettre plusieurs activité?
C'est justement pour ça que la table d'association est nécessaire!
Regardes mon post du 23/12: Dans le tableau (description de la table d'association), tu peux voir que pour le compétiteur n°1, il y a 3 lignes (1 pour chaque activité). Ce compétiteur exerce donc les activités n°1, 2 et 4. De la même manière, le compétiteur n°2 exerce les activités 1 et 2, etc...
Cette table te permet aussi de connaître les personnes inscrites à une activité. Ici, pour l'activité n°1, nous avons 3 inscrits: les compétiteurs 1,2 et 4. etc...
Si tu ajoutes un champ Activité dans la table Competiteurs, tu ne pourras ajouter qu'une seule activité par compétiteur.
@+.
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
|
|
Cette discussion est classée dans : table, discipline, suivie, compétiteur, competiteurs
Répondre à ce message
Sujets en rapport avec ce message
pk particuliere [ par jimmy69 ]
Bonjour a tous,Ravi de savoir que le reseaux code sources s'agrandit => tant mieux !Voila j'ai besoin de vous j'ai un p'tit stress !Je suis sous sql s
Nom de table !? [ par jimmy69 ]
Bonjour a tous,Je suis en train de realiser un p'tit projet en php avec sql serveur 2000 !J'ai une p'tite question a vous poser !je suis en train de c
Trigger [ par frop01 ]
Salut,J'ai une table Categorie (Code_cat, Libelle) et une autre table sous_categorie (code_scat, code_cat, libelle)Je voudrais créer un déclencheur qu
delete et contrainte d'integrite ... [ par jimmy69 ]
Bonjour a tous,Voila je dois realiser un projet sous sql serveur et un langage de script web ...j'en suis a l'analyse ...pas facile !bref, je vous exp
Procedure exportant une table en excel [ par karn ]
Bonjour,est 'il avec possible avec une procedure stocker d'exporter une table au format excel?
analyse entite relation [ par jimmy69 ]
bonjour a tous,Voila j'ai quelques problemes au sujet de mon analyse ....alors je me tourne vers vous !je vous explique:je dois realiser un intranet p
sql serveur et not null [ par jimmy69 ]
Bonjour,Je debute sous sql serveur et bon j'ai un stress !J'ai cree une table que voici CREATE TABLE T_personnes ( pktest INTEGER IDENTITY(0,1) NOT
probleme de comparaison de table [ par ehmarc ]
SalutJe suis sous MySQL voici ma requetejai deux table t1 et t2 qui ont en gros une soixantaine d'entrer chacunneje veut faire ressortir les champ qui
if dans une procédure stocké ? [ par jesusonline ]
Bonjour, je ne connais pas encore SQLj'ai une table articles qui a un champ ID et je voudrais une fonction stocké qui prend en paramètre un ID et qui
REQUETEAJOUT DE TABLE [ par sevajol ]
Quelle requete utilié pour obtenir les enregistrement contenus dans 2 table distinctes ( Type et nb de champs identique)ALX34
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ORACLE FORMSRE : ORACLE FORMS par csmahicham
Cliquez pour lire la suite par csmahicham
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|