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

Langage SQL Discussion :

MCD & requêtes (championat Foot)


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut MCD & requêtes (championat Foot)
    salut à vous tous, S'il vous plait j'ai besoin grandement d'aide
    Mon MCD doit gére un championnat de football sur une seule saison.
    quelques régles Specifique au PB: un joueur appartient à 1 equipe
    une rencontre se joue en aller/retour (Phase)
    le championnat est planifié en journées( 1erjournée,etc..)

    voici les requête Sql sur lesquelles je bloque:
    liste des joueurs titulaires dans une rencontre donné
    classemen du championnat
    classement des buteurs
    liste des joueurs suspendus

    voici mon MCD :
    [IMG]file:///c:/MCD_IN303.png[/IMG]



    S'il ya des choses à redire sur mon MCD,n'hesitez pas

    une autre question : comment inserer une informations dans la table ?
    par exmple voici une info qui est fournir par l'utilisateur et qui doit être mis dans la base :

    N°journée :3
    Date : 13/07/08
    Foudre d'akonolinga 3 - 1 Aigle de Dschang
    Foudre d'akonolinga
    titulaire :MBarga,Pires,Deschamp,ZZ,TITi,etc...
    carton jaune :ZZ(77'), deschamp (20)
    etc....

    mais Où vais-je mettre la liste des titulaire ? (dans la table Joueurs,rencontre ???)
    et les Identificateur,Comment generer tout ça automatiquement ?
    SVp si cest pas trop je voudrais seulement un expemple pour faire le reste,je crois
    mon probleme c'est de quiter la theorie du cours et entrer dans la pratique,...

    faut-il aller de table en table pour inserer un même infos ?

    merci à vous pour vos eventuelles reaction


  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 116
    Points : 28 492
    Points
    28 492
    Par défaut
    Citation Envoyé par sakis07 Voir le message
    faut-il aller de table en table pour inserer un même infos ?
    Oui

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    au fait c'est 1 projet ecole (UE: Base de Donnée 1) donc c'est pas trop exigeant sur certains choses pro... les dll je connais pas, si c'est pour un shema relation, mon MCD contient toutes les infos sur les tables (attribut,clé primaire), et associations...


    le MCD est dans le fichier joint

    je veux la requete pour afficher la liste des buteurs ?
    voici ce que j'ai ecrit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     select Nomjoueur,Nomequipe, Sum(butmarquer,butencaisser)as Nbrebut
    from Joueur, Equipe group by Nbrebut DESC
    where Joueur.ID_equipe=Equipe.ID_equipe
    comment mettre dans "Select" un champ numero auto pour les enregistrement à afficher.. j'ai songé à : " Select Num auto as Numero "

    s'il ya à redire sur le MCD n'hesitez pas !!!

    rappel :
    Mon MCD doit gére un championnat de football sur une seule saison.

    quelques régles Specifique au PB:
    un joueur appartient à 1 equipe
    une rencontre se joue en aller/retour (Phase)
    le championnat est planifié en journées( 1erjournée,etc..)

    voici les requête Sql sur lesquelles je bloque:
    1-liste des joueurs titulaires dans une rencontre donné
    2-classemen du championnat
    3-classement des buteurs
    4-liste des joueurs suspendus
    Images attachées Images attachées   

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 116
    Points : 28 492
    Points
    28 492

  5. #5
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Quelques idées en vrac sur le MCD :
    • Une rencontre a lieu dans un stade. Pas forcément le stade de l'équipe qui reçoit (CF terrain neutre par exemple, suspension de stade, ou "match de gala", ou match amical, ou concert à la place du match, etc...)
    • Le "rôle arbitre" pourrait être sorti dans une table de référence, ainsi, Arbitrer deviendrai une ternaire. On peut éventuellement rajouter une relation N-N entre arbitre et "rôle arbitre" pour préciser qu'un arbitre peut arbitrer à certains rôles (Central, Touche, 4ème ?)
    • Arvertissement ne doit pas avoir de "nombre de carton". S'il y a un deuxième carton, il apparait à une autre ligne à une autre minute.
    • La relation "marquer" peut se faire directement entre "joueur" et "match", avec "minute" faisant parti de la relation. Soit avec un texte "specificité" à l'intérieur de la relation pour écrire des commentaires, soit avec une table de référence des spécificités si elles sont en nombre fixe. La clef primaire de la relation marquer est donc composée avec joueur, match et minute.
    • La suspension devrait avoir une relation N-N avec le nombre de match, permettant de préciser les matchs pour lesquels le joueur est suspendu. Du coup, le nombre de match disparait.
    • Une suspension devrait concerner un et un seul seul joueur.
    • Le remplacement devrait être une relation ternaire avec 2 joueurs (entrant, sortant) et le match.
    • une seule relation N-N entre équipe et rencontre est nécessaire, avec soit un booléen, soit une table de référence pour préciser "à domicile"/"à l'extérieur".
    • Gères-tu la valse des entraineur et le mercato ? Dans ce cas, il faut adapter les relations "entraine" et "contracter" (avec une date de début et une date de fin ?).
    • Nombre de défaites, nombre de victoires et nombre de nuls sont des valeurs calculées. Celà étant, il peut être interressant de les reporter dans l'équipe.
    • Une rencotre devrait pouvoir être marqué "joué", " à jouer", "en cours". Avec une table de référence de préférence.
    • Le poste d'un joueur devrait être sorti dans une table de référence. Un joueur pourra ainsi avoir plusieurs postes (Lassana Diarra joue milieu ou latéral, Thuram joue latéral ou défenseur central, etc...)
    • Du coup, "être titulaire" peut devenir une ternaire avec le poste pour relier le joueur à son poste pendant le match. Et en cas de changement tactique, on peut même mettre la "minute" pour le changement de poste en cours de match ;o)

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    je doit gerer une seule saison de football donc
    pendant une saison (que je gere) 1 joueur appartient à une equipe ainsi que un entraineur, le projet ne tiens pas compte du mercato (joueur comme equipe)...

    dans ce cas comment calculé, le nbre de match gagné, perdu, null si je deporte ces champs dans la table equipe ?

    bon c'est mon point de vue(qui peutr etre fausse..)

    mon utilitaire pour les mCD (analyseSI) n'autorise pas des associations reflexives

    please help, je me colle au modification et je poste.. à tout de suite...

  7. #7
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Pour calculer les matchs perdus, gagner, etc... Tu te bases sur les buts marqués dans les matches ! Tu calcules le score du matches en fonction des buts marqués, et du coup, tu connais le résultat.

    Ca me fait d'ailleurs penser qu'il faut gérer les buts contre son camps ;o)

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut MCD championant foot remodelé
    j'ai remodelé le MCD selon les remarques faites...
    "montros velu" je me dis qu'une renconre concerne 2 equipes tout comme la relation : "être remplacé" (relation ternaire sur "être remplacer" et "participer")

    voici les requête Sql sur lesquelles je bloque:
    1-liste des joueurs titulaires dans une rencontre donné
    2-classement des buteurs
    4-liste des joueurs suspendus




    je veux juste un filon question requetes (surtout le classement des buteurs.."montros velus" à vous......)
    "marquer contre son camp" n'est-t-il pas une specifité ? (dans "Marquer")
    merci davance, le projet est à remetre dans 2 jours

  9. #9
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Il manque la relation "titulaire". Mais tu peux améliorer encore en mettant une relation ternaire "participant" entre joueur et rencontre, avec un "rôle du joueur" pour préciser s'il était titulaire ou remplaçant.
    edit : ha non, elle ne manque pas, mais elle n'a pas à prendre en compte le poste du joueur. Ou mieux que ça alors...

    Pour les but, ce n'est pas compliqué : tu as une jointure entre but et joueur, tu fais un count(*) et un order by.

    Pour les joueurs suspendus, tu fais une jointure entre la journée, la suspension et les joueurs, et tu as ainsi tes joueurs suspendus pour une journée.

    Désolé, je n'ai pas le temps d'approfondir le MCD maintenant...


    edit : vous avez fait une erreur avec "peut avoir", ce n'est pas une ternaire, il faut une relation joueur-suspension, une relation suspension-journée, et une relation joueur-poste

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    merci "monstros poilu"
    je crois vous en avez beaucoup fait, j'ai pu ameliorer mon MCD et mes requêtes, au fait apres avoir refait le MCD selon vos remarque j'ai pu deduire les requêtes (classemt buteurs..)

    bon je medis que la relation "posteJoueur"-"être titulaire" peut être maintenu parceque un defenseur peut joué milieu defensif sur un match selon la convenance de l'entraineur....

    quel interet de la relation Suspension-journée ?, si on conserve la relation Joueur-suspension, on peut avoir suspension-Journée via rencontre !!!!
    bon c'est une sugestion... bon je refais le MCD en cassant la relation ternaire sur "Peut avoir" et je poste..

    merci encore

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    une question :

    es-ce qu'une clé etrangére dans un table peut être pris comme attribut de cette table ? (ex. table.clé_etrangère)

    ou alors c'est à utilisé pour les jointures (sql) ?????

  12. #12
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    bon je crois tout est parfait... j'ai remplacé la table Suspension par "être suspendu" je crois c'est bon...

    bon sil ya une derniere remarques,,, j'attend avant de fermer la discusion(mention: resolu)..

    je me demande etant nouveau comment es-ce que beaucoup de forumeur ne sont pas passer par ma discusion (cf stat), jai courament vu des post qui sont entretenue par un nbre incalculable de forumeur et moderateur... alors l'astuce c'est quoi!!!!!!!!!!!!!!

    meci montros velu

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    bon je crois tout est parfait... j'ai remplacé la table Suspension par "être suspendu" je crois c'est bon...



    bon sil ya une derniere remarques,,, j'attend avant de fermer la discusion(mention: resolu)..

    je me demande etant nouveau comment es-ce que beaucoup de forumeur ne sont pas passer par ma discusion (cf stat), jai courament vu des post qui sont entretenue par un nbre incalculable de forumeur et moderateur... alors l'astuce c'est quoi!!!!!!!!!!!!!!

    meci montros velu

  14. #14
    Membre confirmé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Points : 601
    Points
    601
    Par défaut
    Quelques petites remarques :

    Admettons qu'un joueur soit suspendu 2 journées. La relation "être suspendu" contient donc 2 lignes, une pour chaque journée. Mais l'amende ou le motif n'ont pas à être répétés ! C'est pour celà qu'il faut une entité "suspension" et une ternaire entre joueur, suspension et rencontre (peu importe si c'est rencontre ou journée, car pour 1 joueur, il n'y a qu'une rencontre par journée. L'avantage de le mettre sur "journée", c'est qu'on peut suspendre un joueur pour une journée pour laquelle le match n'a pas encore été programmé)

    la relation "marquer" un but... tu vas avoir des problèmes avec "spécificité". Parce que tu peux y mettre tout et n'importe quoi dedans, et celà va te gêner pour ta jointure, quand tu vas vouloir connaitre les buteurs : En général, les buts contre leur camps ne compte pas en faveur du buteur ! De même, pour calculer le vainqueur, il faudra le prendre en compte. Tout se simplifie si on met un booléen, ou mieux : Une jointure avec l'équipe ! La relation ternaire entre joueur, équipe et rencontre permet de calculer rapidement les scores d'un match sans vérifier l'équipe du buteur par la jointure rencontre - marquer - équipe, tandis que le classement des buteurs s'effectue avec la jointure joueur - marquer - équipe - contracter - joueur qui permet de ne valider que les joueurs qui ont marqué pour leur propre équipe, et ceci, sans passer par la rencontre ^^

    Sinon, pour l'absence de réponse... Tout simplement, il faut lire la doc avant de poster. La correction de MCD, c'est de l'application des normes de la méthode Merise (c'est un autre forum d'ailleurs), et les jointures, c'est plus simple quand le MCD marche et qu'on a lu la doc et fait les exercices qu'il faut.
    Ensuite, il y a la répartition naturelle. Quand on voit que "quelqu'un" s'occupe déjà du sujet et qu'on a rien de spécial à y rajouter, on ne rajoute rien. Il y a des posts auxquels je ne participe pas, parce que ça rien de donner 2 fois la réponse.
    Enfin, les posts à "haute participation", c'est parce qu'il font débat, qu'il sont pointus techniquement, parce qu'on ne trouve pas la solution et qu'il faut s'y mettre à plusieurs, ou parce qu'ils sont intéressants. Et surtout, ils sont bien écrits : soigne ta rédaction, ça ne pourra que t'aider.

  15. #15
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Je ne sais pas si cela peux t'aider, mais je gere moi meme un ou plusieurs championnat de football de type coupe et championnat....
    Je me suis retrouvé confronter au meme probleme que toi evidemment, et j'ai reussi a m'en sortir...

    Voici l'adresse de mon site de démo :
    http://phpcompet.free.fr/competition/index.php

    Et l'adresse du site ou tu peux télécharger le systeme
    http://phpcompet.free.fr

    Si tu va dans le répertoire install tu trouveras un fichier SQL qui permet d'initialiser la base de données...
    Certaines tables ne te seront pas utiles (les tables bet_ pour les paris, ou les tables user), mais cela devrais te donner une idée de la modélisation de la base....

    Si tu as besoin de plus d'infos, n'hesites pas à me contacter...

    @+
    cadou

  16. #16
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par cadoudal56 Voir le message
    Hello,

    Je ne sais pas si cela peux t'aider, mais je gere moi meme un ou plusieurs championnat de football de type coupe et championnat....
    Je me suis retrouvé confronter au meme probleme que toi evidemment, et j'ai reussi a m'en sortir...

    Voici l'adresse de mon site de démo :
    http://phpcompet.free.fr/competition/index.php

    Et l'adresse du site ou tu peux télécharger le systeme
    http://phpcompet.free.fr

    Si tu va dans le répertoire install tu trouveras un fichier SQL qui permet d'initialiser la base de données...
    Certaines tables ne te seront pas utiles (les tables bet_ pour les paris, ou les tables user), mais cela devrais te donner une idée de la modélisation de la base....

    Si tu as besoin de plus d'infos, n'hesites pas à me contacter...

    @+
    cadou

    bonjour à tous, à cadoudal56
    je suis sur un projet similaire qui est la gestion de l'euro 2012 et je rencontre les même difficultés surtout concernant les scores des matchs,les classements des équipes et la gestion des confrontations directes(1/4 de finale,1/2 finale et finale) j'ai essayé les liens que vous avez mentionnés mais ils ne marchent pas,svp pouvez vous me donnez d'autres pistes ou m'envoyer les éléments pièce jointe.
    toutes les autres propositions seront les bienvenues
    Cordialement

Discussions similaires

  1. Générer MCD depuis requête SQL [DbDesigner4]
    Par _Carole dans le forum Modélisation
    Réponses: 1
    Dernier message: 08/06/2013, 18h30
  2. Championat du foot application
    Par mihaispr dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/10/2009, 13h39
  3. Réponses: 3
    Dernier message: 21/08/2009, 16h19
  4. Requêtes SQL championnat de foot
    Par sakis07 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/05/2008, 11h03
  5. une database pour un championat de foot...
    Par bris dans le forum Requêtes
    Réponses: 6
    Dernier message: 07/12/2005, 12h32

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