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 :

[MR] Base de donnée de sport


Sujet :

Schéma

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [MR] Base de donnée de sport
    Bonjour tout le monde,
    bon voilà, je vais essayer de vous expliquer clairement mon problème :
    Je suis actuellement en train d'essayer de développer une base de donnée pour un site web, mais pour ne pas avoir de problème entre les relations, et que tout soit stable, j'aimerai avoir votre avis.

    Bon je ne suis pas un crack dans le domaine, j'ai encore du mal avec le jargon, mais je vais essayer de faire au plus simple (d'ailleurs excusez moi d'avance si je ne suis pas dans le bon forum)

    Alors la base de donné que j'essaie de mettre en place concerne les sports mécaniques, j'ai essayé de tout faire comme il faut, et j'ai même tenté de vérifier ma base avec merise. Mais comme je vous l'ai dis, je ne suis pas un crack et donc je ne suis pas sûr d'avoir bien procédé.

    Bon, voici en image les relations que j'ai définis :


    Alors l'idée, c'est que cela s'adapte pour toutes les disciplines sportives. Donc en gros:
    - un pilote peut courir dans plusieurs catégories.
    - il peut y avoir plusieurs courses par grand prix
    - il y a plusieurs pilotes par constructeurs
    ... enfin pas mal de règles logiques

    j'aimerai donc savoir si ma base de donnée n'est pas bancale, car faire des modifications plus tard sera plus dure, donc je préfère que tout soit carré dès le début.

    en fait, je me demande si j'ai fait le bon choix concernant les tableaux de course et grand prix, pour définir le nombre de course par grand prix, (dois je entrer la catégorie dedans?)
    mais également la liaison entre l'année, le pilote, et le constructeur.

    Je sais que ma question n'est pas simple et peut être fastidieuse. Mais je ne sais pas vers qui me tourner pour être sûr de ce que j'ai fait.

    Je remercie donc d'avance tous ceux qui seront prêt à m'aider. Et si vous avez la moindre question, je reste à votre disposition.
    Au plaisir de vous lire.

    Yffic

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    alors personne pour me venir en aide ?
    J'aimerai beaucoup pouvoir m'en sortir et être sur de moi, alors si vous avez quoi que ce soit, une question, ou une réclamation ...

    Juste à titre indicatif, j'ai pas mis toutes les infos que je voulais mettre, juste les éléments importants, de même que lorsque j'ai mis ID, je sais bien qu'il ne faut pas mette le même nom dans la base de donnée, mais c'était juste pour dire que je référençais la table.

    Merci pour ceux qui me viendront en aide ....

  3. #3
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour,

    Quelles sont les clés de tes tables ? Est-ce toujours "id" ?
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  4. #4
    Membre habitué Avatar de greg13
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 144
    Points : 156
    Points
    156
    Par défaut
    Comprend pas bien certaines choses :

    - Le grand prix, c'est un ensemble de plusieurs courses? Si oui pourquoi un pilote dans le grand prix?

    - Je vois pas trop l'idée de la table année.

    - Comprend pas trop le principe du classement, je pencherais vers une table couple entre un pilote, et une course. quelque chose comme ça.

    Sans doute encore d'autres questions!

    Greg
    Greg
    Parempi karvas totuus kuin makea valhe.

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    En guise de préalable, je vous suggère d'utiliser une représentation graphique un peu plus étoffée que celle que vous nous servez. On peut penser que le carré noir symbolise une contrainte d’unicité : une instance de NEWS relèverait alors d’une instance de CATEGORIE et d’une seule (obligatoirement ? facultativement ?) A l’inverse, et à l’intuition, une instance de CATEGORIE peut être référencée par plusieurs instances de NEWS (au moins une ?) Un simple trait entre objets, sans mentionner les cardinalités est insuffisant, que l'on soit au niveau MCD ou MLD.

    Par ailleurs, comme le fait observer JPhi33, l’attribut ID est utilisé systématiquement. Pourquoi pas. Mais, si votre graphe est censé être un MCD, alors l’attribut CATEGORIE doit disparaître de la table NEWS, puisque c’est le lien unissant CATEGORIE et NEWS qui est porteur virtuel de cet attribut. Si votre graphe est censé représenter un MLD, alors la présence de l'attribut CATEGORIE dans la table NEWS est justifiée et on admettra que cet attribut référence l’attribut ID de la table CATEGORIE. Même principe pour tous les attributs et objets représentés.

    Faisons l'hypothèse que votre graphe représente un MLD, donc des tables, et que le carré noir symbolise une contrainte d’unicité, comme quoi une instance de NEWS serait en relation avec une instance de CATEGORIE et une seule (contrainte d'unicité relevant de l'intégrité référentielle).

    La table CONSTRUCTEUR est en relation elle aussi avec la table CATEGORIE. N’est-on pas en train de préparer une salade de catégories ? On peut quand même penser qu’une catégorie de news et une catégorie de constructeurs sont sémantiquement distinctes et si tel est le cas, au nom de la distinction sémantique, il faudrait mettre en place une table CATEGORIE de NEWS et une table CATEGORIE de CONSTRUCTEURS.

    Toujours dans la logique du carré noir, un constructeur serait en relation avec une moto et une seule, ce qui pour le néophyte que je suis paraît quand même fort peu... En outre, s’agit-il d’une moto à proprement parler (avec son numéro de série) ou d’un modèle ? Vous comprendrez que la sécheresse d'un dessin austère soulève nécessairement des questions...

    C'est un peu comme si je représentais une table TITRE, sous la forme d'un rectangle, avec les attributs suivants : ID, NOM, DATE. Vous pourriez être perplexe et vous poser la question "Concrètement, qu'est-ce qu'un titre ?" Un titre de civilité ("Monsieur", "Madame", "Docteur") ? Un titre d'ouvrage littéraire ("Les trois mousquetaires", "Études historiques sur la chute de l’Empire romain") ? Une dose d'alcool ? Un titre côté en bourse ? Etc. Les explications et précisions sont toujours les bienvenues.

    Encore dans la logique du carré noir, un constructeur (entreprise) serait une personne, avec son nom (tout va bien), son prénom (ce qui est difficile à concevoir), son âge (ce qui sous-entend la date de création de l’entreprise...) La personne impliquée n’est peut-être pas le constructeur, mais le manager ? Votre modélisation ne permet pas de trancher. En passant, Plutôt que d'utiliser des âges, on préfère généralement les dates de naissance, sinon, si votre application passe le cap des un an, il y aura de la mise à jour à prévoir.

    Attention, il y a une relation directe entre CONSTRUCTEUR et PAYS, ainsi qu’une relation indirecte, via PERSONNE : il y a une redondance potentielle.

    => Racontez les relations qui unissent ces différentes entités.

    Toujours dans la logique du rôle du carré noir, un seul pilote participerait à un grand prix : s’il arrive à terminer la course, alors il pourra se vanter s’être arrivé bon dernier. De la même façon, pour une course, il n’y aurait qu’un classement, etc. Il y a là de quoi s'étonner, et ceci rejoint les réflexions de greg13.

    => Le mieux est de raconter en français, à l’aide d’exemples, la vie des courses et la participation des différents acteurs aux différents grands prix et courses, la vie de celles-ci, etc.

    Merci de préciser la grammaire, le formalisme que vous avez utilisé pour votre représentation graphique. Tant qu'à faire, passez à une représentation plus riche, avec PowerAMC ou Win'Design (voire Toad Data Modeler, DBDesigner, fonctionnellement moins riches, mais gratuits).
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    tout d'abord merci à vous d'avoir pris le temps de me répondre.
    Alors je m'excuse d'avance, mais je n'ai pas tout compris dans ton message fsmrel. Comme je l'ai précisé, je suis vraiment débutant dans l'élaboration des bases de données, je ne connais pas tous les termes techniques, de même que la représentation est la liaison des tables, mais je vous l'accorde pas du tout explicite, et je m'en excuse.

    Alors je vais essayer de vous expliquer comment je vois ma base, j'y ai apporté des modifications depuis l'émission de ce sujet :

    - j'ai mis ID pour toutes les tables afin de penser à mettre une référence, bien évidemment dans l'élaboration en SQL, je n'ai pas gardé le nom ID, mais j'ai mis quelque chose de plus explicite.

    - cela peut référencer tout type de compétition, d'où la table catégorie. Qui permet de par son ID (chiffre) de définir la catégorie, de même qu'un champ texte pour le règlement. J'ai d'ailleurs depuis, joint une référence à la table classement, car comme vous l'avez compris, pour chaque catégorie, un nombre de point est attribué à chaque personne (suivant le classement bien sur).

    - La table news, c'est une table qui permet d'émettre des nouvelles sur mon site, et cela en référence avec la catégorie, vu que pour chaque catégorie, il y a une partie du site qui lui est destinée. Donc par définition, il convient de définir un titre, une date, un texte, et tout ce qu'il va avec afin de créer cette nouvelle et la diffuser sur le site.

    - la table année, référencée par un ID, de son nom associé (2008, .... 2000), permet de joindre le pilote à une catégorie, ainsi que le constructeur, et maintenant la moto, et cela pour chaque année et chaque pilote. Et de lui attribuer un dossard. Pourquoi j'ai fait ce choix (pas forcément le mieux), c'est tout simplement parce qu'un pilote ne cours pas qu'une année. Pas toujours chez le même constructeur (team), et bien évidement pas avec la même moto. Mais également, qu'il peut changer, ou même courir dans deux compétitions différentes, et cela la même année. (Je sais cela devient compliquer à comprendre.

    - Pour la table personne, je l'ai définie ainsi afin de pouvoir référencer un pilote, mais également les manager, d'où le lien entre constructeur et personne. car la liaison entre les pilotes et les constructeurs est dans la table année. Bien évidement j'ai mis age dans la table, mais dans ma base je pensais bien évidement à la date de naissance

    - dans la table constructeur, j'ai supprimé le lien avec la moto, pour le définir dans la table année.

    - la table moto, vous l'avez je pense tous compris, cela concerne la moto, et toutes ces caractéristiques. je pense pas qu'il soit utile d'en ajouter plus.
    Maintenant ce qui me pose le plus de problème, et c'est vraiment là que j'aurai plutôt besoin de conseils, c'est tout ce qui concerne la gestion des courses :

    - Suivant la catégorie, un grand prix varie, généralement cela se déroule sur un week end, avec des essais libres, des qualifications, puis une ou plusieurs courses. C'est surtout ce que je veux référencer.
    Par exemple en motoGP, il y a une course de 45 minutes environ, alors qu'en superbike, le grand prix se joue sur deux courses d'environ 40 minutes., d'où l'utilisation d'une table course, et d'une table grand prix.
    Un grand prix, c'est un nom, un circuit, après pour la date, je pense ne pas avoir fait le bon choix, mais comment faire !?
    et j'ai mis dans un premier temps un lien avec le pilote, dans le but de définir le nombre de points remportés à l'issue du grand prix (et non pas de la course)
    Une course en revanche, fait partie d'un grand prix (sous entendu un pilote aussi), donc un nombre de points précis suivant le classement, et bien évidement un temps réalisé. (je met le temps qu'ils ont mis pour parcourir le nombre de tours a effectuer, je ferai la différence au moment voulu).

    - pour la table classement, je pense que maintenant vous l'avez compris, un nombre de points est défini en fonction de la position. Pour le moment j'ai choisi de faire un table à plat, c'est à dire que pour chaque compétition, un ID est attribué, et toutes les autres valeurs correspondent aux nombres de points attribués au premier, jusqu'au 20ème, et oui dans certaines compétition, les points vont très loin.


    Je pense avoir fait le tour de l'explication de toutes les tables. En gros je voudrais faire quelque chose qui permet de référencer toutes les années, et toutes les compétitions. Avec pilotes, team, moto, et classement pour chaque circuit.
    Pas simple du tout, enfin surtout pour quelqu'un comme moi, qui n'a jamais eu l'occasion d'élaborer de telles choses, mais c'est justement le meilleur moyen d'apprendre
    Donc si vous pouviez me donner le plus de conseils possible, cela m'aidera beaucoup dans la conception des bases de données.
    S'il vous plait, je n'ai pas encore tout le jargeon, et vous vous en être rendu compte, alors ne partez pas avec des termes techniques trop compliqués
    Sinon je m'excuse pour le schéma, c'est vraiment comment je le voyais, je ne savais pas comment vous pouviez représenter les tables et les liaisons, alors les carrés noirs ne représentent rien en particulier, c'était juste pour dire qu'il y avait une liaison entre les deux tables

    merci d'avance à vous ...
    Yffic

  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,

    Citation Envoyé par yffic
    dans l'élaboration en SQL, je n'ai pas gardé le nom ID, mais j'ai mis quelque chose de plus explicite
    Ma remarque relevait du point de détail. La seule contrainte en SQL est de ne pas utiliser des mots réservés. Maintenant, si vous modélisez, il serait effectivement bon de mettre un peu d’ordre dans les dénominations. Il est des concepteurs très chatouilleux à ce sujet.

    Citation Envoyé par yffic
    cela peut référencer tout type de compétition, d'où la table catégorie
    Pourriez-vous donner des exemples précis, représentatifs et expliqués de catégories ? En parcourant votre précédent message, je glane les termes : motoGP, superbike et je suppose que ces termes ont à voir... Pour vous, les choses sont évidentes, mais j’avoue ne rien connaître aux sports mécaniques et j’ai donc du mal à entrer dans votre univers, au moins concernant ce terme de catégorie se prêtant par ailleurs à tellement d’emplois multiples...

    Citation Envoyé par yffic
    J'ai d'ailleurs depuis, joint une référence à la table classement, car comme vous l'avez compris, pour chaque catégorie, un nombre de point est attribué à chaque personne (suivant le classement bien sur).
    Je ne sais pas si j’ai bien compris : je supposerai qu’une compétition donnée détermine une catégorie et que pour cette catégorie il existe un barème permettant d’attribuer des points aux compétiteurs, selon leur classement dans cette compétition.

    Citation Envoyé par yffic
    La table news, c'est une table qui permet d'émettre des nouvelles sur mon site, et cela en référence avec la catégorie
    A tout hasard : le niveau de finesse est-il le bon ? Autrement dit, si une new relate un événement, donc une course (relevant d’une catégorie), n’est-ce pas à ce niveau qu’il faille établir le lien, à maille plus fine ? Ou bien, une new relève-t-elle du niveau grand prix ? Il est possible que l’attribut Règlement infirme ce que j’écris, tout comme des nouvelles règles du jeu, aussi il serait utile que nous en sachions un peu plus, afin d’être conforté quant à la pertinence de votre choix (en donnant une fois de plus des exemples significatifs de news).

    Citation Envoyé par yffic
    la table année, référencée par un ID, de son nom associé (2008, .... 2000), permet de joindre le pilote à une catégorie, ainsi que le constructeur, et maintenant la moto, et cela pour chaque année et chaque pilote. Et de lui attribuer un dossard.
    Le nom Année donné à la table n’est peut-être pas le plus pertinent. En effet, le néophyte a plutôt l’impression qu’on a affaire à une certaine édition d’un certain événement, comme par exemple dans un autre domaine sportif, l’édition 2007 de Roland-Garros.
    Peut-on raisonner ainsi : La course 123 (édition 2007 du grand prix 541) a eu lieu le 1er mai 2007. Le pilote 789, portait le dossard 8 et pilotait la moto 987, il a pris la 3e place, dans le temps de 15’12". Est-il nécessaire de mentionner la catégorie ? Cela dépend. Si par exemple, une moto donnée ne peut faire partie que d’une catégorie, inutile de mentionner celle-ci, la connaissance de la moto entraînant celle de la catégorie. Même chose, si la course fait directement référence à la catégorie. Dans le même sens, faire mention du team n’est pas forcément utile, si l’on connaît par exemple la date à laquelle le pilote a changé d’écurie (si je puis dire).

    Citation Envoyé par yffic
    S'il vous plait, je n'ai pas encore tout le jargeon, et vous vous en être rendu compte, alors ne partez pas avec des termes techniques trop compliqués
    Vous serez obligé de passer par l’apprentissage de la conception d’une base de données si vous ne voulez pas vous ramasser dans un virage un peu sévère (et il y en a dans votre projet). Je pense qu’un certain nombre de forumeurs Merise se feront un plaisir de vous piloter. En attendant, crayon en main, lisez par exemple ce qu’a écrit Cyril Gruau ; vous y remplacerez les motos par des chevaux...)
    http://cyril-gruau.developpez.com/um.../ConceptionBD/

    Quand vous aurez acquis le vocabulaire de base, vous pourrez appuyer sur le champignon et aller plus avant dans la résolution de votre problème. Nous ne vous laisserons pas tomber, mais sans ce vocabulaire et un minimum de technique, on n’avancera que très difficilement.

    Comme le chantait mon maître ès poésie :

    "L'avait l' don, c'est vrai, j'en conviens,
    L'avait l' génie,
    Mais sans technique, un don n'est rien
    Qu'un' sal' manie... "
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    Pourriez-vous donner des exemples précis, représentatifs et expliqués de catégories ? En parcourant votre précédent message, je glane les termes : motoGP, superbike et je suppose que ces termes ont à voir... Pour vous, les choses sont évidentes, mais j’avoue ne rien connaître aux sports mécaniques et j’ai donc du mal à entrer dans votre univers, au moins concernant ce terme de catégorie se prêtant par ailleurs à tellement d’emplois multiples...
    Alors il existe un grand nombre de compétitions différentes.
    Par comparaison, on pourrait comparer le motoGP à la formule 1, des courses très rapide, avec un certain nombre de tours définis a exécuter dans un minimum de temps.
    Le superbike est une compétition très exigeante également, les pilotes courent avec des machines plus homologués, plus proche des machines de route.
    Il existe également des compétitions d'endurance, un championnat sur des courses allant de 8 à 24h. C'est l'équivalent des 24H du mans voiture.
    il y a bon nombre d'autres compétitions, comme de l'enduro, du tout terrain, j'en passe et des meilleurs, je ne pense pas que cela vous intéresse de connaitre tous les types de compétition, mais de comprendre les différences.


    Citation Envoyé par fsmrel Voir le message
    Je ne sais pas si j’ai bien compris : je supposerai qu’une compétition donnée détermine une catégorie et que pour cette catégorie il existe un barème permettant d’attribuer des points aux compétiteurs, selon leur classement dans cette compétition.
    C'est exactement cela !
    pour reprendre le cas du motogp, 25 points sont attribués au vainqueur. En contre partie, en championnat d'endurance, 35 points sont attribués au vainqueur.


    Citation Envoyé par fsmrel Voir le message
    A tout hasard : le niveau de finesse est-il le bon ? Autrement dit, si une new relate un événement, donc une course (relevant d’une catégorie), n’est-ce pas à ce niveau qu’il faille établir le lien, à maille plus fine ? Ou bien, une new relève-t-elle du niveau grand prix ? Il est possible que l’attribut Règlement infirme ce que j’écris, tout comme des nouvelles règles du jeu, aussi il serait utile que nous en sachions un peu plus, afin d’être conforté quant à la pertinence de votre choix (en donnant une fois de plus des exemples significatifs de news).
    j'ai définie la table news ainsi, car j'aimerai donner des informations tout au long de la saison, et non pas uniquement sur la course, informer les internautes sur l'évolution de la compétition, les changements inter-saison, et tout autres informations. C'est pour cette raison que je n'ai pas voulu définir le grand prix ou la course dans ma table news.


    Citation Envoyé par fsmrel Voir le message
    Le nom Année donné à la table n’est peut-être pas le plus pertinent. En effet, le néophyte a plutôt l’impression qu’on a affaire à une certaine édition d’un certain événement, comme par exemple dans un autre domaine sportif, l’édition 2007 de Roland-Garros.
    Peut-on raisonner ainsi : La course 123 (édition 2007 du grand prix 541) a eu lieu le 1er mai 2007. Le pilote 789, portait le dossard 8 et pilotait la moto 987, il a pris la 3e place, dans le temps de 15’12". Est-il nécessaire de mentionner la catégorie ? Cela dépend. Si par exemple, une moto donnée ne peut faire partie que d’une catégorie, inutile de mentionner celle-ci, la connaissance de la moto entraînant celle de la catégorie. Même chose, si la course fait directement référence à la catégorie. Dans le même sens, faire mention du team n’est pas forcément utile, si l’on connaît par exemple la date à laquelle le pilote a changé d’écurie (si je puis dire).
    Effectivement, je n'avais pas vu les choses ainsi. Concernant la table année, il est inutile d'ajouter la catégorie, en revanche, un pilote pouvant participer à deux compétitions différentes et cela la même année, je ne vois pas comment faire.
    Par exemple, certains pilotes participent au superbike, et en parallèle courent dans le championnat d'endurance. En effet, les dates sont définie de façon à ce qu'ils puissent participer aux deux championnats. Par conséquent, j'ai du mal à comprendre comment faire la jointure.
    L'idée de retrouver toutes les informations à partir de la table circuit, ou grand prix, est une bonne idée, mais étant donné que j'aimerai faire un listing des pilotes de chaque catégorie, et cela avant le début du championnat (donc avant d'enregistrer des courses) je ne vois pas comment faire le lien si je supprime toutes les jointures au niveau de l'année, et également au niveau du constructeur.
    Dans ce cas là, ne serait il pas préférable de conserver la jointure au niveau de l'année, et de la supprimer partout ailleurs (sauf pour les grand prix bien sûr) !?


    Citation Envoyé par fsmrel Voir le message
    Vous serez obligé de passer par l’apprentissage de la conception d’une base de données si vous ne voulez pas vous ramasser dans un virage un peu sévère (et il y en a dans votre projet). Je pense qu’un certain nombre de forumeurs Merise se feront un plaisir de vous piloter. En attendant, crayon en main, lisez par exemple ce qu’a écrit Cyril Gruau ; vous y remplacerez les motos par des chevaux...)
    http://cyril-gruau.developpez.com/um.../ConceptionBD/

    Quand vous aurez acquis le vocabulaire de base, vous pourrez appuyer sur le champignon et aller plus avant dans la résolution de votre problème. Nous ne vous laisserons pas tomber, mais sans ce vocabulaire et un minimum de technique, on n’avancera que très difficilement.

    Comme le chantait mon maître ès poésie :

    "L'avait l' don, c'est vrai, j'en conviens,
    L'avait l' génie,
    Mais sans technique, un don n'est rien
    Qu'un' sal' manie... "
    merci beaucoup pour ces avis et ces conseils, je vais me pencher avec attention à ce tutoriel, et faire la liaison avec l'utilisation que je veux faire de ma base de donnée.
    Merci encore.

  9. #9
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    un pilote pouvant participer à deux compétitions différentes et cela la même année, je ne vois pas comment faire.
    Un pilote peut participer à deux courses distinctes, la même année :
    On affecte à une course LA date à laquelle elle a eu lieu. On définit une association (table pour vous) entre Course, Pilote et Moto. Cette association est porteuse des données suivantes : dossard, place, temps.

    Ainsi :

    La course 123 (édition 2007 du grand prix 541) a eu lieu le 1er mai 2007. Le pilote 789, portait le dossard 8 et pilotait la moto 987, il a pris la 3e place, dans le temps de 15’12".

    La course 154 (édition 2007 du grand prix 617) a eu lieu le 3 mai 2007. Le pilote 789 portait le dossard 14 et pilotait la moto 253, il a pris la 7e place dans le temps de 10’35".

    => La course 123 peut très bien déterminer une catégorie C1 et la course 154 cette catégorie C1 ou une catégorie C2. La relation entre course est catégorie est directe ou indirecte, via grand prix par exemple, une course relevant d’un grand prix et si un grand prix relève d’une catégorie et d’une seule.

    Je pense que les choses s’arrangeront quand vous aurez parcouru le tutoriel et que vous utiliserez un outil de modélisation.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

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

Discussions similaires

  1. [AC-2013] Conception d'une base de données dans le cadre d'une salle de sport
    Par h4cktaas dans le forum Modélisation
    Réponses: 5
    Dernier message: 14/10/2014, 13h36
  2. Base de données club de sport
    Par toto629 dans le forum Modélisation
    Réponses: 1
    Dernier message: 02/04/2014, 09h09
  3. [Toutes versions] Base de données pour Club sport/compétition
    Par Pauline69 dans le forum Modélisation
    Réponses: 3
    Dernier message: 10/05/2009, 01h19
  4. Aide sur ma base de donnée sport
    Par solaar dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/10/2007, 16h28
  5. [Conception] base de données pour sport
    Par peach dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/10/2005, 15h21

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