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 :

[Schéma Relationnel] Comment faire pour représenter une table évoluant dans le temps


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut [Schéma Relationnel] Comment faire pour représenter une table évoluant dans le temps
    Salut à tous.

    Je me tourne vers vous pour que vous me proposiez une façon de faire un petit schéma .

    Supposons que nous ayons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    T_PLAYER (PLAYER_NUMBER, PLAYER_NAME, PLAYER_POINTS, TEAM_NUMBER)
     
    TEAM_NUMBER référence :
     
    T_TEAM (TEAM_NUMBER, TEAM_NAME)
    Voici 2 tables, l'une représentant une équipe (par exemple de foot hein :p), et l'autre représente les joueurs.

    Ces tables sont associées via une relation de type one-to-many//many-to one : une équipe a plusieurs joueurs, et un joueur appartient à une seule équipe.

    Jusque là, tout va bien.

    Maintenant on va rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    T_CHAMPIONNAT(CHAMPIONNAT_NUMBER, CHAMPIONNAT_NAME, ....)
    Cette table représente un "championnat" // un "tournoi".

    Une équipe peut participer à plusieurs championnats distincts, et un championnat "contient" plusieurs équipes.

    Les tables T_TEAM et T_CHAMPIONNAT sont donc associées via une relation de type many-to-many, que nous représenterons par une table d'association :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    T_TEAM_CHAMPIONNAT(TEAM_NUMBER, CHAMPIONNAT_NUMBER)
    Bref, c'est maintenant que je me pose une question : dans la table T_PLAYER, il y'a un champ "TEAM_POINTS", qui représente le nombre de "points" marqués par ce joueur.

    J'aimerais pouvoir connaître le nombre de "points" marqués par un joueur lors d'un championnat précis.

    En l'état actuel des choses, je ne peux pas (étant donné qu'une équipe peut participer à plusieurs championnats, le champ PLAYER_POINTS de la table T_PLAYER va contenir le nombre de points marqués par ce joueur pour tous les championnats auquel son équipe à participé).

    Donc je me tourne vers vous pour voir si avez une solution propre à me proposer

    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 286
    Points : 12 988
    Points
    12 988
    Par défaut
    Bonjour,
    Tout est dans cette phrase:
    Citation Envoyé par GyZmoO Voir le message
    J'aimerais pouvoir connaître le nombre de "points" marqués par un joueur lors d'un championnat précis.
    Il te faut une table avec l'Id du joueur, l'Id du championnat, et le nombre de points.

    Tu peux aussi ajouter l'Id de l'équipe, ainsi tu sauras dans quelle équipe était le joueur lors du championnat en question.

    Tatayo.

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    N'oubliez pas qu'un joueur peut changer d'équipe en cours de saison (au foot en tout cas).

  4. #4
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    Ok,

    Merci pour vos remarques, je vais donc ajouter une nouvelle table

    Citation Envoyé par Waldar
    N'oubliez pas qu'un joueur peut changer d'équipe en cours de saison (au foot en tout cas).
    Oui effectivement, il faut que j'y prenne garde !!

    Encore merci.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/06/2012, 18h47
  2. Réponses: 6
    Dernier message: 20/05/2010, 21h48
  3. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 16h31
  4. Comment faire pour killer une application ?
    Par tintin22 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/08/2004, 19h16
  5. comment faire pour qu'une application soit toujours visible ?
    Par goldbar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2004, 15h35

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