PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Ok,

justement, j'en avais parlé un peu plus haut avec MK. L'idéal serait que je puisse avoir une portabilité pour cette application. Ainsi, pouvoir la stocker sur une clé usb et la déplacer d'un PC à un autre serait le top.
Après je ne connais pas tous les types de bases de données actuels. Peux-tu me donner le nom de ceux que tu connais et je regarderai en fonction de ce que je veux lequel irait le mieux?

merci encore

#2 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Ok, merci pour toutes ces explications.
On peut donc dire que tu as fais ici un MLD (même si on ne peut pas l'appeler vraiment comme ça d'après MK)
Avec ce MLD, peut-on dire que "la première phase" est terminée?

Car ensuite, je sais qu'il y a le MPD mais je ne sais pas si nous avons toutes les infos, données pour passer à cette étape.
Merci d'avance en tout cas pour m'orienter et me guider dans les nombreuses étapes de ce projet (Je ne le pensais pas si complexe mais c'est très intéressant)

#3 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour à tous
Je vais tout d'abord remercier Jc pour le temps passé à réaliser cela. J'avoue que j'ai un peu pris peur en voyant ton schéma et j'ai quelques questions à ce sujet:
Je n'ai pas très bien compris ce que représente (et à quoi va servir) la table c_etypes?
De même pour la table c_pmode?
Une autre question par rapport à la table compo_équipes, pourquoi entre-t-elle en compte vu que l'on ne s'occupe pas de savoir qu'elle va etre la composition d'une equipe pour une partie donnée?
Dans la table "joueurs" ne manque-t-il pas une clé étrangère vers equipes?

Merci de ton explication Maljuna Kris, comment verrai-tu le MCD pour toi? ceux que j'ai posté avant sont trop simpliste à mon avis.
Merci de votre aide en tout cas, cela me fait avancer!

#5 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour Jc,
Je te remercie de revenir vers moi dans un premier temps et je comprend que tu aies d'autres obligation!
Je ne sais pas si j'ai saisie ta question. Je vais te répondre et tu me diras si cela répond bien à ton questionnement.
Pour une partie donnée, chaque équipe rencontre donc une autre équipe. Chaque équipe décide d'elle même quel(s) joueur(s) vont participer à la partie. si nous avons une équipe "France" composé des joueurs "A", "B", "C" et "D" pour un concours donné, c'est elle qui va gérer quels joueurs vont faire quelle partie.
Par exemple si la partie 1 est en triplette, elle peut décider de faire jouer A, B et C ensemble ou une autre combinaison.
partie 2: A et B si la partie est en doublette

En aucun cas l'application ne s'occupe de savoir quels joueurs vont jouer. Elle doit "juste" s'occuper de savoir qu'elle équipe joue contre qu'elle autre équipe afin d'enregistrer les résultats.
Les noms des joueurs pour une équipes servent à la limite pour l'inscription, la remise des prix mais dans les parties, on utilisera le nom de l'équipe.

Voila, je ne sais pas si j'ai répondu à ta question?
Sinon redis moi pour d'autres précisions.

Je te remercie par avance,
bonne journée,
cordialement,

nico

#6 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,

Merci de ta réponse. j'ai donc enlevé les 3 champs calculables.
Je suis d'accord avec toi concernant Parties mais du coup je ne vois pas comment le modéliser?
Pourrais-tu m'aiguiller?
J'ai modifié les cardinalités, avec celui ci-dessous, on ne devrait pas etre loin de la vérité non?

2963d56f0cbbd961361e5ce0786d8ba4_MCD.png

#7 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,

Après avoir trouvé un PDF assez bien fait sur la création de BDD qui explique le MCD puis MLD pour arriver au MPD, j'ai pu comprendre plusieurs règles importantes.
Cependant je ne maîtrise pas encore tout, loin de là. J'ai modifié quelque peu le MCD précédemment établi en fonction de vos conseils et  j'ai rajouté quelques attributs.
Je vous le joins ci-après: merci de me dire si vous voyez des choses qui ne vont pas ou si vous auriez fait autrement.

5d73180976b23aa2aaf5bc180368ae37_MCD.png

Cependant, il me reste des questions auxquelles je n'arrive pas à trouver de réponses (je me mélange un peu):

1) Dans l’entité Equipes, je ne sais pas si les attributs Partie_gagnee, Partie_nulle, Partie_perdue doivent figurée ou non dans cette entité. En effet, on peut calculer le nombre de partie gagnée d’une équipe en comparant le score de l’équipe et le score de l’adversaire pour chaque partie.
Or des champs calculés ne doivent pas apparaître dans une entité. En revanche, si je les enlève, comment je vais obtenir ces données (ainsi que le nombre de point marqué, le nombre de point encaissé, le goal-average) afin de faire un classement? Seulement avec des requêtes ou dois-je faire une entité Résultats?

2) Dans l’entité Parties, j’ai un attribut id_eq1 et un attribut id_eq2, cela n’est pas redondant avec l’association Participer? J’ai un peu de mal à voir comment bien modéliser le fait que dans une partie, 2 équipes s’affrontent (sachant que Equipes est une entité en relation avec Parties)

Je pense être bon au niveau des cardinalités aussi?

Merci d'avance pour votre aide,
bonne soirée
nico

#8 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,
Ha mince je pensais avoir tout réuni avec ce que l'on avait dit...
J'attends un peu de ton éclairage alors!
Merci encore
Nico

#9 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour à tous et désolé pour ce laps de temps ou je n'ai pas répondu!
Je vous remercie de vos réponses.
Je vous poste un aperçu du MCD mis à jour avec tout ce que l'on a dit:
5cb9da4faf90884688aa42b94be51027_petanqueok.png
Est-ce que vous êtes d'accord avec celui-ci déjà?

pour revenir la gestion du championnat, je souhaite les gérer via un accès anonyme. N'importe qui pourra utiliser cette application.
Comme tu me l'a dit, je peux donc passer au MLD?
Que signifie passer au MLD et que dois-je définir, décider ou donner comme info pour le MLD?
Car la je sèche un peu...

Merci de vos commentaires,
bonne soirée,
nicolas

#10 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour et merci de ta réponse Kris.
Juste une autre question, qu'appelles-tu table pivot?
Et quelles sont les étapes suivantes? (mis a part une mise au propre du MCD que je vais faire et poster d'ici peu)
Merci d'avance,
Bonne fin de journée
Nico

#11 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Merci pour ton explication, je comprend mieux a présent et je suis d'accord avec toi concernant le champ "type". Pour cela, je pense aussi qu'il serait plus simple de le mettre en clé primaire avec les 2 autres attributs!
Cela nous clarifie un peu les choses.

Pour la suppression, jai compris aussi pourquoi il fallait dabord tout dissocier avant de supprimer. Par contre, cette dissociation peut-elle se faire automatiquement?

Merci encore pour le temps passe!
Cordialement
Nico

#12 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,
désolé, je n'étais pas dispo ces 3 derniers jours.
Pour voir si j'ai bien compris tes réponses Jc, je te réponds:

1)J'ai bien compris ce que tu veux dire par supprimer les enregistrements concernés dans la table formation (je suppose que c'est parce que l'id_concours apparaît dans la clé primaire de la table formation ?) Est-ce que cette suppression des enregistrement pourra se faire automatiquement?

2)je suis d'accord avec toi, c'est juste que je ne voulais pas me compliquer la vie mais ton aide me sera précieuse et je pense qu'effectivement c'est mieux de tout prévoir!

3)Je comprend que mon MCD actuel implique que l'on puisse faire des atats entre concours mais vu que je ne veux pas l'implémenter, cela doit quand même apparait dans le MLD? (à ce propos, est-ce que l'on pourrait m'expliquer ce qu'est un MLD?)

4) Je ne comprend pas pourquoi il faut mettre un champ "type"? Car lors d'un concours, les équipes seront soient toutes masculines, soient toutes mixtes soient toutes féminines. Un concours ne peut pas rassembler des équipes féminines et masculines. le id_equipe devrait suffire non? Pour ce qui est de l'unicité de l'équipe, il y a une seule invitation par club qui est envoyé donc normalement, le nom de club doit pouvoir garantir l'unicité (même si deux équipes d'un même club jouent dans un même concours, elles n'auront pas le même nom d'équipe)
Je ne comprend pas en revanche ce que tu veux dire par contrôle d'intégrité des données?

Merci d'avance,
cordialement,
nico

#13 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Oui tout a fait!
Mais je ne demande qu'a apprendre pour la suite du projet!

#14 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,
Au contraire j'ai le temps pour établir ce mini projet!(jusqu'à fin d'année).
Vu que je ne connais pas toutes les étapes et les phases de chaque étape, javais l'impression qu'on avançait plus mais je sais que vous avez bcp plus de savoir et de connaissance que moi donc je suis tout ouïe et suis prêt a vous écouter et a avancer tranquilement

Merci de m'aider en tout cas car je pense bien apprendre de ce projet et de vos conseils du coup!

#15 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,
Je te remercie d'avoir r&pondu dans un premier temps. Je reviens sur tes remarques:

Jc a écrit :

1) A moins que le projet doive supporter tous les types de concours (y compris ceux dont nico n'a pas besoin actuellement) et vu que tout se passe sur un même lieu, niveau conception, savoir qui recoit est obsolète et n'a pas sa place ici (c'est l'organisateur qui recoit pas l'équipe).

Je suis d'accord avec toi sur ce point, c'était simplement pour différencier les deux équipes d'une partie!

Jc a écrit :

2) Identifier une équipe par son nom n'est pas judicieux sur un plan conceptuel. Une id numérique est de rigueur à plus d'un titre : a) performances des requêtes et de la base b) Pourquoi n'y aurait-il pas la possibilité de créer deux équipes de même nom, l'une masculine, l'autre féminine? On connait bien les femmes pour ce genre de choix wink
3) le 2a) peut se généraliser à toute la base

Tu as raison aussi!en plus deux joueurs peuvent avoir le même nom! donc le id_équipe serait mieux!

Jc a écrit :

bien que cette démarche pourrait sembler faire gagner du temps de prime abord, la démarche est déconseillée par expérience. Il faut partir de ton cahier des charges pour ton MCD puis MLD comme MK le fait. Tes algos de résolutions viendront d'eux mêmes une fois ta structure de base établie de façon correcte.

C'est ça le problème, je pense que je vais me perdre dans les étapes et c'est pourquoi j'ai bien besoin de vous!!!!

Jc a écrit :

5) Une clé primaire tient compte des arrangements, ainsi {a1,b1} et {b1,a1} correspondront à la même clé primaire pour un moteur de SGBDR. La table formation doit donc avoir comme clé primaire id_equipe1 et id_equipe2. Il faudra rajouter à cette clé primaire l'id du concours car il doit être possible que deux équipes puissent se rencontrer lors de deux concours différents. En effet si j'ai bien compris les équipes sont représentatives d'un club quelque soit les joueurs envoyés, et à ce titre, elle peut conserver son nom d'un concours à l'autre, et cela peut permettre de suivre les stats d'un club au fil des concours.

Que mettrais-tu dans la table formation?? en effet, je rajouterai l'id_concours car je veux que toutes les entités dépendent (ou soient rattachées) à un seul concours! ainsi si je supprime un concours, je veux que tout ce qui y est rattaché soit supprimé (je ne sais pas si c'est possible?).
Effectivement les équipes sont représentatives d'un club mais d'un concours à un autre, les clubs invités ne sont pas obligatoirement les mêmes c'est pourquoi les équipes seront rarement les mêmes. les stats entre concours ne m'intéressent pas tellement à vrai dire.

Merci de votre aide en tout cas!le projet est effectivement intéressant, prenant, peut etre complexe aussi!!

#16 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,

Je me pose encore plein de question concernant la finalité de cette application. Notamment concernant les tirages des parties et les résultats des parties.
Je vois bien comment à partir du nombre d'équipes et de parties déterminé définir le tirage via le script VBA que j'ai trouvé. En revanche, même si les rencontres par parties sont stockées dans une table, je me demande comment je vais pouvoir faire afficher les rencontres, comment je vais rentrer le résultat et le mettre dans la table au bon endroit (a la bonne équipe je veux dire) ainsi que le calcul des points qui en découle.

Merci de m'éclairer la-dessus et sur la suite du "projet" à entreprendre afin d'arriver à mes fins.

Merci d'avance encore

#17 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Pour la portabilité, c'est exactement ce qu'il me faut car en général, il n'y a pas d'accès internet sur les lieux de concours!

Revenons aux modèles: la tu penses que le modèle conceptuel pourrait être termine?
On pourrait passer au modèle logique?
Je vois ce qu'est le modèle physique (création de la Bdd) mais je ne vois pas ce qu'est un modèle logique, peux-tu m'éclairer?
Les uses case me rappellent vaguement quelquechose ainsi que le langage UML mais si tu pouvais me rafraichir aussi la mémoire... sad (ce sont les cas d'utilisation je pense mais je ne me rappelle plus comment présenter cela)

Merci d'avance

#18 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bonjour,

Merci pour tes précisions. Je pensais que l'on avait pas mal avancé niveau conceptuel pour pouvoir passer au physique... mais je dois me tromper... Que manque-t-il a ton avis?
et quand pourras-t-on passer au physique?

Maljuna Kris a écrit :

Vu la modestie de la chose tu peux même t'orienter vers Mov'Amp, expurger de MySQL, sur une clef usb et créer ta BDD sous SQLite

C'est sur qu'il ne s'agit pas d'un très grand projet!!! en revanche pour moi (a mon niveau) il me parait deja très très grand et je serais bien content quand il sera fini!!!
J'ai parlé d'EasyPhp car je le connais alors que ceux dont tu m'as parlé me sont pas connu. mais si ce n'est pas compliquer, je peux suivre tes conseils car l'idée de pouvoir l'avoir sous clé usb me plait beaucoup!!

merci encore du temps que tu passes a me repondre

#19 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Je ne comprend pas trop quand tu parles de placer des attributs nb_equipes et nb_parties das l'association "se compose". Je croyais qu'ils devaient appartenir à une classe? sinon comment va-t-on les créer dans la BDD.
Je souhaite réaliser ma BDD ainsi que l'application avec easyPhp afin que je puisse utiliser cette application hors ligne.
Je penses que c'est faisable mais peux tu me confirmer?

Il ne reste plus qu'à la créer non?

En revanche, j'ai du mal à voir comment je vais stocker les bons résultats au bon endroit...

#20 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

En fait, a partir du moment ou je saisie une équipe dans la base via linterface php/html, c'est quelle est confirmée! Par ailleurs comme citée plus haut, le nombre de partie ne dépend pas du nombre d'équipe! Mais plutôt du concours je dirais!

#21 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Non le nombre d'equipe ne détermine pas le nombre de partie! Toutes les équipes ne sont pas obliges de de rencontrer. On peut très bien choisir de faire un concours avec 24 équipes et 12 parties (ou 10 ou 14, c'est moi qui décide)
C'est pour cela que je pense qu'il faut stocker ces deux données?
Le fait de savoir qui se déplace ou qui reçoit n'est pas très important en lui même a partir du moment ou une partie représente un couple d'équipe et que l'on peut mettre un score a chaque équipe et donc leur définir leur point

Comme je te lavais dit, j'ai trouve un script qui permet de faire un tirage sans que deux équipes ne se rencontrent 2 fois. Est-ce qu'il pourrait nous servir?

#22 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

La notion de pointsDom et pointsExt étaient là pour pouvoir stocker le résultat d'une partie entre deux équipes. Cela afin de pouvoir calculer un classement et de pouvoir attribuer des points à l'équipe vainqueur et à l'équipe perdante. Mais peut-être y-a-t-il un autre moyen de stocker les résultats?
Effectivement toutes les équipes sont présentes au même endroit sur la journée du concours.

Je t'avoue que j'ai du mal a cerner et voir ce qu'est la contrainte d'intégrité fonctionnelle?pourrais-tu m'expliquer?
Pour ce qui est des nb_équipes et nb_partie, il ne faut pas que ces champs soient calculables par une requête COUNT() car ces nombre seront définis bien avant le concours par l'organisateur.
Au moment ou je crée un concours, je sais déjà combien d'équipe je vais rentrer dans ma base pour celui-ci et combien de partie elles vont devoir faire pour celui-ci.
Je pense que cela simplifie un peu la chose non?

#23 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

3eafcbfa3f7582b6cb8048bb18dcc32a_petanque.png

Voila le nouveau schéma (définitif?) que j'ai pu faire.
J'ai ajouter dans la classe Concours l'attribut Date à la place de Année et j'ai ajouter nb_équipe et nb_partie
je m'explique:
- Date sera plus précis que seulement année et me permettra de retrouver l'année!
- nb_équipe me permettra de savoir combien j'ai défini d'équipe en créant un nouveau concours
- nb_partie me permettra de savoir sur combien de partie s'est déroulé le concours.

En effet, dans un concours qui rassemble 28 équipe par exemple, il n'y aura pas forcément 27 parties!! Encore une fois, c'est l'organisateur (moi) qui décide du nombre de partie. Par exemple je peux choisir 10 parties. Ainsi une équipe va en rencontrer 10 autres sans jamais rencontrer 2 fois la même. Mais toutes les équipes ne se rencontreront pas! Il peux ainsi y avoir entre 1 et 27 parties!
est-ce que je suis clair au niveau du nombre de partie?

Est-ce que tu es d'accord avec moi, et du coup avec cette modélisation?

#24 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

Bon, je trouve que l'on avance pas mal.
En revanche, je pense que l'attribut date doit se trouve dans la Classe Concours car:
un concours a lieu a une unique date. Je donne un exemple et m'explique après:
ex:
Le concours "12H mémorial Dupont" aura lieu le Dimanche 12 mars 2011
Il rassemble 24 équipe de 4 joueurs. Ces 24 équipes vont disputer chacune 10 parties dans la journée et à l'issue de cette journée sera établi le classement.
Dans les 10 parties, la 1ère sera en doublette (formation 1), la 2ème en triplette (formation 2), la 3ème en quadrette (formation 3), la 4ème en doublette, etc...

Je pense donc que l'attribut formation devrait plutôt être rattaché à la classe Partie et ne pourrait-on pas supprimer la classe Rencontres et rattaché directement la classe Concours à la classe Parties?

J'ai une autre question qui me vient à l'esprit: Quand l'utilisateur (moi) va-t-il définir le nombre d'équipe, le nombre de parties et la formation associé à chaque partie? Car avec un formulaire html/php, je ne vois pas trop comment cela va se passer mais peut être que cela se fera dans une deuxième étape?

#25 Re : MySQL, PostgreSQL, etc... » création application pour gérer un championnat » 27-04-2011 14:42:39

95121876ae208fea84cc129245ccc9ac_schema.bmp

Voici ce que je pensais comme modélisation.
Que peux-tu me répondre concernant le classement?

Pied de page des forums

Propulsé par FluxBB