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

Requêtes MySQL Discussion :

une database pour un championat de foot...


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 56
    Points : 32
    Points
    32
    Par défaut une database pour un championat de foot...
    Salut à tous,
    J'envisage de faire un site avec résultats/calendrier et classement de championat de foot.
    n'étant pas encore très à l'aise avec la gestion des DB, j'aurai besoinde conseil...

    J'avoue que je suis un peu confu, je me fais plusieurs réflexions de structurations du projet mais j'arrive toujours à trouver une faille à mon raisonement :
    J'aimerai (comme administrateur) pouvoir entrer :
    1 Les différents type de championats (çà peut changer d'une année à l'autre)
    2 Le nom des club et pour chaque club les différents contacts mais aussi et surtout dans combien de championats s'inscrit le club (1 club peut n'avoir qu'une seule équipe et d'autre 10 qui vont jouer dans différents championats)

    Une fois rentré 1 et 2 je souhaiterai en début de saison pouvoir faire un random des rencontres, c'est à dire un calendrier aller-retour pour chaque championat (journée 1: rencontre1 : équipe1(domicile) - équipe2(extérieur),etc...Journée2....journée(n) et ce pour chaque championat)

    Une fois fait, je voudrai (en tant qu'administrateur) pouvoir éditer chaque journée pour rentrer la date de chaque rencontre et éventuellement le terrain sur lequel çà va se jouer

    Ensuite, une fois la journée de championat jouée, je souhaiterai qu'en rentrant les résultats via formulaire, les données relatives à chaque équipe se mettant à jour dinamiquement pour qu'au résultat, un user lambda sur internet ait accès au calendrier, aux résultats et au classement de son équipe préférée.

    Un bon exemple de fontionnement est le site de www.lequipe.fr section "football" puis France/ligue1 ou ligue2, etc...

    Au vu de ce que j'ai dit, j'ai immaginé la database suivante, dites moi ce que vous en pensez :
    1 une table "Club ou société" (nom, contact, équipe engagnée en ligue1(booléen), équipe engagée en ligue2(booléen), équipe engagée en ligue(n)booléen)
    2 Une table "équipe" (nomclub,nom du Championat auquel participe l'équide, point totale, classement, buts encaissés, buts marqués, parties jouées, match nul, défaite, keyéquipe)

    Mais c'est là que çà se corse... je ne sais pas trop comment gérer les journées de championats, le calendrier, dois-je créer une table ou une database "calendrier"... oui mais comment la gérer...

    Pouvez-vus m'aider?
    merci d'avance

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: une database pour un championat de foot...
    Citation Envoyé par bris
    Salut à tous,

    ...

    n'étant pas encore très à l'aise avec la gestion des DB, j'aurai besoinde conseil...

    J'aimerai (comme administrateur) pouvoir entrer : ...

    Une fois rentré 1 et 2 je souhaiterai...

    Une fois fait, je voudrai ...

    Ensuite, je souhaiterai ...

    Un bon exemple de fontionnement est le site de www.lequipe.fr ...

    Mais c'est là que çà se corse... (...) oui mais comment gérer...

    Pouvez-vous m'aider?
    C'est plus 2-3 conseils que tu demandes, c'est une étude complète !

    Si tu veux, t'as qu'à me laisser tes coordonnées et je te ferrai un devis...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 56
    Points : 32
    Points
    32
    Par défaut
    ...
    J'ai expliqué la totalité de mon projet pour que la personne qui souhaite me donner un conseil comprenne bien mon objectif. Ce projet c'est mon premier gros projet de site dinamique, je me suis autoformé, lu quelques pavets sur php et mysql et je souhaite développer ce projet tout seul. Ceci étant dit je ne suis et ne serais jamais avard de conseil. Je ne suis pas encore un expert mais j'aspire à l'etre.
    Bref...
    Dans le cas présent je n'ai jamais demandé une étude complète, je suis dans le forum Mysql du forum dévellopeur, j'aimerai seulement au vu de ce que j'ai énoncé, savoir comment concevoir ma base de données, sa structure, ses tables car évidemment si je me plante là et que je m'en rend compte plus tard, tout est à refaire.
    Merci d'avance

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: une database pour un championat de foot...
    Bon allez, vu que je suis sympa (ça me perdra!), j'vais t'donner 2-3 conseils (en même temps, j'ai un peu besoin de fric en ce moment et ça m'aurait pas déplu d'avoir un petit contrat... lol)

    Citation Envoyé par bris
    Au vu de ce que j'ai dit, j'ai immaginé la database suivante, dites moi ce que vous en pensez :
    1 une table "Club ou société" (nom, contact, équipe engagnée en ligue1(booléen), équipe engagée en ligue2(booléen), équipe engagée en ligue(n)booléen)
    Bon, va falloir choisir entre "club" ou "société" (perso, je préfère "club", mais c'est vrai que le foot ça m'intéresse pas des masses alors je dis peut-être une connerie...)

    Sinon, l'idée des booléens est complètement affreuse ! Tu vas rajouter un booléen à chaque nouvelle ligue? Pas très évolutif comme manière de faire...

    Non, ce qu'il vaut mieux faire, c'est une table "ligue" (avec le nom de la ligue et d'autres données, mais je peux pas te dire lesquelles vu que j'aime pas le foot) et une association "equipe_engagee_ligue" entre "equipe" et "ligue" (tu remarqueras que les noms des bases sont tout en minuscules, c'est une particularité de MySQL)

    Citation Envoyé par bris
    2 Une table "équipe" (nomclub,nom du Championat auquel participe l'équide, point totale, classement, buts encaissés, buts marqués, parties jouées, match nul, défaite, keyéquipe)
    Tu mets trop de choses dans ta table "equipe": ça sert à rien de mélanger les données de l'équipe avec ses résultats et son classement: ce serait plus approrié de mettre ça dans des tables à part (surtout si tu veux étendre ton modèle pour y inclure des statistiques par joueur, l'historique de la carrière d'un joueur (clubs, nombre de buts marqués, au cours de quelles rencontres, contre quelle équipe), ou Dieu sait quoi d'autre !).

    Je dirais que les résultats et classements sont des données calculées à partir d'autres données que tu trouves dans ta base (nombre de buts inscrits lors des différentes rencontres d'une saison...), mais que ça n'a rien à voir avec ce qui caractérise l'équipe.

    Voilà, la suite plus plus tard...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: une database pour un championat de foot...
    Bon, pas de réaction sur le sujet, ce n'est pas grave. Comme promis, la suite:

    Citation Envoyé par bris
    Une fois rentré 1 et 2 je souhaiterai en début de saison pouvoir faire un random des rencontres, c'est à dire un calendrier aller-retour pour chaque championat (journée 1: rencontre1 : équipe1(domicile) - équipe2(extérieur),etc...Journée2....journée(n) et ce pour chaque championat)
    Aujourd'hui, on va s'intéresser à la manière de tirer les équipes 2 par 2 en vue d'organiser des matches.

    Je crois que ce type d'organisation s'appèle "une poule" et que comme le tirage est aléatoire, si celui-ci est favorable, on dit qu'on a eu du pot. La recette du jour sera donc la "poule au pot".

    Pour faire une bonne poule au pot, de quoi avons-nous besoin, Maïté? C'est bien simple, voici la liste des ingrédients:

    - une poule, bien dodue, si possible fermière, avec comme champs les identifiants de 2 équipes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE poule (
      equipe1_id INT,
      equipe2_id INT,
      PRIMARY KEY(equipe1_id, equipe2_id)
    );
    - quelques petites tables temporaires, pour le tirage des équipes (qui seront détaillées plus tard)

    - des légumes: carottes, oignons, poireaux...

    Maintenant, voici les différentes étapes de la recette:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # On créé la table temporaire "equipe_rand", pour le tirage aléatoire des équipes
     
    CREATE TABLE equipe_rand (
      num INT NOT NULL AUTO_INCREMENT,
      equipe_id INT NOT NULL UNIQUE,
      PRIMARY KEY(num)
    ) AUTO_INCREMENT=1 ;
     
     
     
    # On procède au tirage tirage au sort des équipes
     
    INSERT INTO equipe_rand(equipe_id)
    SELECT equipe_id
    FROM equipe
    ORDER BY RAND() ;
     
     
     
    # A partir des équipes tirées au sort, on organise les rencontres
     
    INSERT INTO poule(equipe1_id, equipe2_id)
     
    SELECT E1.equipe_id, E2.equipe_id
    FROM equipe_rand E1
    INNER JOIN equipe_rand E2
    ON (E2.num=E1.num+1)
    WHERE E1.num%2=1 ;
     
     
    # On supprime la table temporaire
    DROP TABLE IF EXISTS equipe_rand ;
    Après, il n'y a plus qu'à afficher le résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # Affichage de la poule
     
    SELECT
      E1.nom AS equipe1,
      E2.nom AS equipe2
    FROM poule
    INNER JOIN equipe E1 ON (poule.equipe1_id = E1.equipe_id)
    INNER JOIN equipe E2 ON (poule.equipe2_id = E2.equipe_id) ;
    Et voilà ce que l'on obtient au final:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    -----------------------
    | equipe1  | equipe2  |
    -----------------------
    | equipe 3 | equipe 7 |
    | equipe 5 | equipe 2 |
    | equipe 6 | equipe 1 |
    | equipe 8 | equipe 4 |
    -----------------------
    Et voilà, il ne reste plus qu'à passer à table.

    La semaine prochaine, je vous donnerai la recette de la dinde au Whisky...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 56
    Points : 32
    Points
    32
    Par défaut
    Salut et merci pcaboche ,
    Tu m'as déjà mis sur la piste, je vais potasser çà sérieusement, je me rends compte que çà va etre beaucoup plus dur que ce que je m'immaginais, je dois aller à mon rythme... Surtout que je souhaiterai proposer des interfaces client (des formulaires php) de manière à pourvoir rendre autonome la personne qui s'occupe des championnats (qu'il puisse rentrer tout tout seul et ce depuis n'importe quel terminal relié à internet...), je voudrai aussi aussi inclure mettre les classements à domiciles, extérieur, toute une série de statistique sur les équipes, etc...
    Disons que je doid me donner du temps pour en arriver là...
    A propos, tu as vu le site de www.lequipe.fr dans les pages classement, résultats, etc... tu parlais de devis mais à combien on peut estimer un travail de ce genre, du projet à la réalisation de la web application ?
    A+

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par bris
    Salut et merci pcaboche
    Ben de rien !

    Citation Envoyé par bris
    Tu m'as déjà mis sur la piste, je vais potasser ça sérieusement. Je me rends compte que ça va etre beaucoup plus dur que ce que je m'imaginais
    C'est souvent comme ça: dit comme ça a l'air facile... mais quand on creuse un peu, on voit les problèmes (c'est hallucinant comme les utilisateurs ont le don de croire que tout est facile. Si c'est si facile que ça, qu'ils le fassent eux-mêmes! Sinon, qu'ils fassent confiance aux experts...).

    Citation Envoyé par bris
    Surtout que je souhaiterais proposer des interfaces client (...) depuis n'importe quel terminal relié à internet...
    Bon, ça c'est classique (c'est d'ailleurs le principe d'une telle appli). Il faudra juste gérer en plus les sessions, les mots de passe ainsi que les droits d'accès de chaque page (administrateur, opérateur de saisie, etc.)

    Citation Envoyé par bris
    A propos, tu as vu le site de www.lequipe.fr dans les pages classement, résultats, etc... tu parlais de devis mais à combien on peut estimer un travail de ce genre, du projet à la réalisation de la web application ?
    A+
    Bon, quand je parlais de devis, c'était une boutade ! (rapport à la taille du projet, qui ne se cantonne pas à une question du type: "j'ai ma requête qui marche pas, j'essaye d'obtenir tel résultat, mais j'y arrive pas. Vous pouvez m'aider?").

    A mon avis, étant donné que "L'équipe" est un journal à fort tirage, ils ont sûrement dû se donner les moyens (et ne pas prendre que des stagiaires). Quand tu vois le prix de la main d'oeuvre, plus les charges, pour faire une appli spécifique, ça doit facilement chiffrer en dizaines de mlliers d'euros.

    Je pense que le problème est plutôt à prendre dans l'autre sens: déterminer le budget qu'on est prêt à allouer dans le projet et voir ce que l'on peut faire avec (en se concentrant sur les parties les plus importantes)

    Maintenant, si tu veux vraiment un devis, c'est plutôt en messages privés qu'il faut voir ça...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SELECT pour avoir tous les TS d'une database
    Par genio dans le forum DB2
    Réponses: 5
    Dernier message: 21/08/2006, 12h11
  2. JEG : jAPI : Une API pour C++Builder
    Par JEG dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/11/2003, 13h50
  3. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22
  4. Une déclaration pour la survie du jeu vidéo en France
    Par Freakazoid dans le forum DirectX
    Réponses: 1
    Dernier message: 30/10/2002, 14h31
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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