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

Schéma Discussion :

[MCD]Modéliser 1 application de gestion de courses


Sujet :

Schéma

  1. #1
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut [MCD]Modéliser 1 application de gestion de courses
    Hello,

    Je désire créer une application de gestion de courses, mais j'ai beau lire les tutoriaux, ça ne rentre pas

    Je connais le principe des BD car j'ai déjà utilisé sql et php, donc j'ai déjà un petit acquis sur les tables, index, clefs, etc mais c'était pour des pages web vraiment simples, qui ne nécessitait pas vraiment une modélisation.
    Mais là, avec ce projet, je suis largué

    Dans l'esprit, je voudrais créer un logiciel de gestions de courses. Donc on aurait comme entité :
    - course (nom du prix, hypodrome, catégorie,...)
    - cheval (nom, age, sexe, derniers résultats,...)
    - jockeys (nom, sexe, age, derniers résultats, ...)
    - entraineurs (nom, derniers résultats,...)
    - résultats de la course
    Et bien sur, à l'enregistrement des résultats, il doit se répercuter sur les tables cheval, jockey et entraineur.

    Alors, j'ai bien compris qu'il fallait poser un énoncé.
    Par exemple, une course peut avoir plusieurs chevaux.
    Un cheval peut avoir plusieurs jockeys et plusieurs entraineurs.
    Etc...
    La dessus, pas de problême.

    Si je comprends bien on aurait une relation comme celle là déjà ?
    course --- 1,n --- cheval
    cheval --- 1,n --- jockey

    Ce qui me pose problême, c'est comment répercuter les arrivées sur les tables et surtout, si vous pouvez m'expliquer briévement les relations 1,n 1,1 car je ne suis pas habitué à ce genre d'annotations.

    Sans me macher le boulot, ce serait vraiment sympa de me donner un exemple avec les tables au-dessus pour que je puisse bien comprendre et pas me planter dés le départ sur la conception, car je dois ajouter plein d'entités aprés, comme la météo, les pronostics de la presse, etc.
    Et je voudrais vraiment bien saisir le truc des relations.

    Merci

  2. #2
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut courage
    Salut...

    Visiblement tu en est au balbutiement des notions de bases de données, je te conseille en premier lieu de prendre un peu de temps pour lire quelques docs, notemment ce guide http://sqlpro.developpez.com/cours/modelisation/merise/ (surtout la partie 5 dans ton cas, les relations sont tres bien expliquées...)

    et noublie pas
    est ton ami

    allez courage tout ca sera bientôt super clair pour toi, c'est pas tres compliqué faut juste s'y mettre

  3. #3
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Oui en effet, c'est le commencement.
    Je vais lire à nouveau tranquillement tout ça ce week-end, ça va bien rentrer un jour

  4. #4
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Question pratique.

    Vous me conseillez quoi comme logiciel pour faire la modélisation ?
    Plutot un gratuit ou une version de démo pas trop bridée svp. Français ou anglais, peu importe. J'en ai marre d'user ma gomme et puis ce sera plus pratique pour poster mon modéle aussi quand je voudrais une critique

    Merci.

  5. #5
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Ben ca dépends du type de modélisation parceque pour du Merise c'est pour produire un MCD (au final) et tout le lot de fioritures qui va avec (MOF, MOT, MCTruc...) et la je ne jure que par Windesign (pas du tout shareware)

    Mais si tu veux faire un modèle de données à la sauce sexy, un truc à la mode, qui en pete dans les dossier mémoire, faut faire ca en UML, (mais c'est aussi une méthode d'analyse... bref) pour produire un diagramme de classes (attention normalement la c'est pour la prog objet, mais tu peux bien faire comme si tu avais des objets et modéliser ta base...)

    Pour UML je te conseille l'excellent plugin eclipse dont je me souviens plus le nom mais que je te file très vite
    [Edit] C'est Omondo mais tout bien réflechi c'est vraiment trop orienté objet et seulement pour java [/Edit]
    Si tu veux pas mettre le nez dans eclipse Ya poseidon qui est pas trop mal pour un usage non intensif

    voili la maigre expérience dont je peux te faire profiter !

  6. #6
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Ok pour eclipse, je test des plug là, ça m'a l'air pas mal du tout
    Merci.

  7. #7
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Finalement je me suis orienté vers dbdesigner

    J'ai une question qui peut vous paraitre bête.
    Dans mon exemple, je dis qu'un cheval peut participer à une seule course dans la journée et qu'une course à plusieurs chevaux. Donc j'ai ça :

    cheval --- 1,n --- course (la table a comme attribut la date, numéro de la course, etc)

    Mais quand je vais générer le .sql, est ce que ces relations vont se générer aussi ? Par exemple, admettons que je fasse un formulaire php pour entrer les données de la course. Si je rentre 2 fois le même cheval sur la même course ou la même journée, comment va réagir la BD ?
    Je ne sais pas si je me fait bien comprendre

    Et autre chose, il faudrait que je prenne quoi comme clef dans la table course pour faire ma relation, la date ou le numéro de course ?

    Merci

    EDIT :

    Pour ce qui ne connaissent pas les courses hippiques, voila comment ça s'organise en gros. Dans la journée, il y a plusieurs réunions. Les réunions se font à des endroits différents (Réunion 1 à Cagnes admettons, Réunion 2 à Enghien). Chaque réunion comporte x courses. Chaque course a ses critéres (course pour les chevaux ayant 3 ans, course pour les chevaux ayant gagné x €, etc). La notation des courses se fait souvent comme ça : RxCx où x est un numéro, R réunion, C course (exemple : Course 1 en Réunion 1 se notera R1C1)
    Ce qui explique qu'un cheval ne peut faire qu'une et une seule course.

  8. #8
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    je ne connais pas webdesigner si la facon dont il génere du sql.
    Mais dans tous les cas, les regles qui régissent les relations dans ta base sont à faire respecter via des contraintes d'intégrité (clé primaire, clé étrangère, unique...)

    Question: comment feras tu pour attribuer une nouvelle course à un cheval si tu as une relation 1-n
    ...
    la réponse serait de vider ta table cheval...
    Ce n'est peut etre pas ce que tu veux
    Tu aurais peut etre besoin d'une table d'association "participer" qui ferait le lien entre une course et un cheval.

    est-ce que ca ressemble à ce que tu veux ?

    Pour ce qui est des containtes il faudrait définir comme unique la participation d'un cheval à une course dans cette table participer...

    Sinon pour la clé primaire de course ca peut être ce que tu veux s'il n'y a qu'une course par jour ca peut tres bien etre la date, mais un bon vieux ID c'est pas mal
    [edit]
    Citation Envoyé par TallyHo
    Chaque réunion comporte x courses.
    Je te conseille l'ID tout de meme...
    [/edit]

  9. #9
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Merci

    C'est vrai que je n'avais pas pensé à tout ça, l'association, etc.
    Je sens que je vais bien me prendre le chou pour mes débuts

  10. #10
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    ben n'hésite pas à poster tes schémas si tu veux du coup de pouce...

  11. #11
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Voila les schémas
    Je voudrais vos critiques svp.

    Je pense que je dois mettre les régles que je désire aussi.
    Comme vous voyez, tout est centré autour de la table "course".

    Pour le cheval :
    - Il ne peut courir qu'une seule course/jour
    - Il peut avoir plusieurs jockeys (pas sur la même course bien sur ).
    - Il peut avoir plusieurs entraineurs (pareil que le jockey, l'entraineur peut changer suivant la saison etc).

    Le jockey peut monter plusieurs chevaux, idem pour l'entraineur qui peut avoir plusieurs chevaux dans son écurie.

    La course :
    - Elle se court que sur une distance donnée
    - Elle se déroule que sur un hyppodrome
    - Il ne peut y avoir qu'un seul prix (pour l'exemple, le plus connu est le Prix d'Amérique)

    Concernant le Prix :
    - Il n'a qu'une seule distance (mais ça peut changer parfois)
    - Il ne peut y avoir qu'un seul type (trot, plat, ...) et qu'une seule catégorie (internationale, a réclamer, ...)

    Voila j'espére que c'est clair.

    Merci pour vos avis
    Images attachées Images attachées   

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Personellement je remplacerait entraineur et jockey par personne, tu ajoutes une entité type_de_personne

    tu oublies de mettre la relation de ton ennoncé

    l'entraineur qui peut avoir plusieurs chevaux dans son écurie.
    Par contre distance est-ce que c'est réellement une entité ? genre des distances types qui se répètent ?

    10km
    20km
    30km


    Edit je vois juste encore num_cheval dans ta course , il ne faut pas tu auras la référence dans la relation court

    Il faut également réfléchir si une course peut exister sans que les chevaux soient inscrits (planification) dans ce cas 0..n sera plus juste.
    Sinon ca ma l'air correct

  13. #13
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Distance c'est pour la longueur de la piste.
    Par exemple, à vincennes tu as la grande et la petite piste qui ont, bien sur, chacune leur distance. Alors là je me tate à mettre un int pour mettre la distance en métre ou varchar pour mettre "petite piste" etc.
    Bon ça c'est un détail

    Pour la course, oui elle est planifiée, mais si il n'y a aucun cheval, pas de course Et encore, je n'ai jamais vu le cas se présenter.
    (Ah ok, je viens de réaliser ce que tu veux dire, pas bête ).

    Edit je vois juste encore num_cheval dans ta course , il ne faut pas tu auras la référence dans la relation court
    Par contre, là je ne vois pas ce que tu veux dire.

  14. #14
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    tu as mis un attribut numcheval dans ton entité course

  15. #15
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Voila une copie d'écran du site du PMU.
    Juste pour vous faire une idée des données qu'on peut rencontrer dans une course, peut-être que j'ai une mauvaise organisation des tables aussi.
    Comme c'est mon premier modéle, il y a peut-être des choses qui peuvent s'améliorer ou des petites astuces

    Pour ce qui est du numcheval, donc si je comprend bien, tu le mettrais dans la table cheval ?
    Images attachées Images attachées  

  16. #16
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Pour qu'un modèle soit juste il faut savoir ce que l'on veut faire. Donc partir d'une analyse.

  17. #17
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    J'ai mis les conditions plus haut

    Déjà que je me prends la tête sur un petit projet comme ça, j'ose même pas imaginer les gars qui s'attaquent à de grosses BD et qui travaillent là-dedans
    Bon j'en ai assez pour ce soir.

    Merci à toi

  18. #18
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    salut !

    Pour l'attribut numcheval, ce qu'il veut dire c'est que ta relation 'court' va se transformer en table (c'est une relation non hierarchique n-n) et que les clé étrangères des tables qu'elle associe vont se retrouver à l'intérieur. c'est pour ca que tu n'a pas besoin de mettre de réference de cheval dans course et vice-versa...
    Donc pour résumer, concretement tu auras 'idcheval' et 'numcourse' dans une table 'court'.

    Sinon au niveau de ton modèle pourquoi as-tu séparé dans une table arrivée les classement qui corrsepondent à une course ? vu que ces infos sont forcement liées ne devraient elle pas toute se retrouver dans la table course ? tu pourrais aussi avoir un champ classement dans la table courrir qui ferait correspondre une 'arrivée' à un cheval pour une course... (simple possibilité, la tienne est crédible)

  19. #19
    Membre habitué Avatar de arnobase
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par *alexandre*
    Pour qu'un modèle soit juste il faut savoir ce que l'on veut faire. Donc partir d'une analyse.
    Citation Envoyé par TallyHo
    Déjà que je me prends la tête sur un petit projet comme ça, j'ose même pas imaginer les gars qui s'attaquent à de grosses BD et qui travaillent là-dedans
    ben justement, ceux qui bossent sur de grosses bases partent d'une analyse

    si tu utilise merise, tu n'a pas d'étude à réaliser en amont de ton MCD (analyse des flux, des acteurs, des traitements...) ??

  20. #20
    Membre éprouvé Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Points : 1 052
    Points
    1 052
    Par défaut
    Oui tu as raison
    Je n'ai pas regardé du week-end pour prendre du recul, et ça ne me convient pas tout à fait. Je vais repenser à une structure plus logique.

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

Discussions similaires

  1. Réponses: 32
    Dernier message: 28/10/2013, 14h07
  2. Réponses: 1
    Dernier message: 23/07/2009, 12h54
  3. [MCD] Est ce que ce MCD application de gestion de paie est correct ?
    Par hafcher dans le forum Schéma
    Réponses: 1
    Dernier message: 11/07/2008, 19h16
  4. [Choix du langage] Application de gestion
    Par Topla dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 14/10/2005, 17h40

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