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 :

Conseils Modélisation - taux de remplissage d’un métro de 10 wagons


Sujet :

Schéma

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Conseils Modélisation - taux de remplissage d’un métro de 10 wagons
    bonjour à tous, j'aimerais appronfondir mes connaissances maigres en base de données. N'arrivant pas à formuler mes intérrogations, j'ai rédigé un petit paragraphe qui résume mes problèmes, sous forme d'exercice. j'espère ne pas vous embéter avec ça, dans tous les cas, merci d'avance.


    Le problème totalement imaginaire porte sur le taux de remplissage d’un métro de 10 wagons (w1,…, w10). Le métro part d’un point A et s’arrête à un point Z, le terminus. Personne ne sort du métro entre ces deux points mais des gens entrent à chaque arrêt.

    • Chaque personne doit s’identifier à l’entrée.
    • Chaque wagon a un nombre de sièges différents, et il n’est pas possible de rester debout.

    J’imagine que les trois différentes tables qui doivent exister tables sont :

    Voyageur (n° de sécu, nom, prénom) ;
    Wagon (immatriculation_wagon, nombr_places) ;
    Station (lettre_station, places_disponibles)

    Le problème est que je n’ai pas énormément de connaissances en BD et je bloque là-dessus.

    • Pensez-vous que la définition de ces trois tables est suffisante pour régler le problème ?

    Ou bien

    • Doit-on ajouter un attribut dans la table wagon concernant le nombre de places disponibles sachant que celui-ci évoluera ?

    J’ai une vision assez figée des bases de données (je pense qu’elle n’est pas fondée) comme quoi elles ne doivent contenir que des informations fixes et non évolutives. Dans mes trois tables, la table « Station » serait amenée à évoluer. Peut-être un autre découpage est-il nécessaire.

    Quel genre de requêtes devrait-on lancer pour avoir une vision de la situation à un moment t ?

    Merci d’avance pour les informations ou pistes que vous pourrez me fournir. En espérant ne pas paraître trop inculte,

  2. #2
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    Oui l'idée de rajouter un attribut indiquant le nombre de places restantes à wagon n'est pas mauvaise, le fait qu'elle evolura n'est pas un problème.
    Par contre peut-être n'ai je pas bien saisi le problème mais pourquoi il y a t il un attribut places_disponibles dans Station ?
    Ensuite rajouter un attribut immatriculation_wagon dans la table voyageur serait peut-être à envisager pour peut-être plus tard savoir dans quel wagon se trouve un voyageur précis (et peut-être lettre station aussi pour savoir dans quel station il se trouve) ...

    Donc moi je verrais les tables ainsi :

    Voyageur (#n° de sécu, nom, prénom,*immatriculation_wagon,*lettre_station) ;
    Wagon (#immatriculation_wagon, nombr_places,nbr_de_place_restante) ;
    Station (#lettre_station);

    En espérant vous avoir aidé ... et ne pas avoir dit trop de bétises
    Hervé
    -------

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    merci de ces conseils aussi rapides

    En fait, je voulais mettre l'attribut places_disponibles dans Station pour avoir une sorte d'idée temporelle, mais en lisant votre proposition, effectivement il semble qu'il n'avait rien à faire là.

    L'emploi d'une clé étrangère dans la table voyageur, telle que "lettre station" donne cette information sur le moment auquel l'individu est monté dans le métro. "immatriculation_wagon" donnera l'information sur sa localisation .

    si l'on devait faire un schéma relationnel, cela représenterait un triangle si je ne me trompe pas.

    voyageur <--monté à-->station
    voyageur <--monté dans--> wagon
    wagon <--arrété à-->station

    qu'en pensez vous?

  4. #4
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    C'est exactement à ce que je pensais
    Avec cette configuration vous pouvez avoir tout les renseignements possibles sur votre problème, après tout est possible, savoir par exemple pour un voyageur A, combien de personnes il a vu monté dans son wagon depuis que lui même y est, et aussi savoir combien de personnes étaient présentes lorsqu'il est monté etc ...
    Après il faut juste s'amuser avec toutes les requêtes possibles

    En espérant vous avoir aidé ...
    Hervé
    -------

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    oui votre aide a été précieuse, merci beaucoup, à la revoyure

  6. #6
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    si tu veux conserver l'historique des flux des voyageurs, je rajouterais une table
    position_voyageur (id_flux,#secu, #immatriculation_wagon,lettre station,timestamp)
    c'est cette table que j'updaterais en cas de montée d'un utiisateur.
    Je ne sais pas si ça t'intéresse mais comme cela tu pourras faire des "stats" :
    - connaitre le moment de la journée ou il y a le plus de voyageurs
    - connaitre le wagon le plus utilisé
    .....et puis je sais pas quoi d'autres

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    mais n'est ce pas déjà présent avec la table voyageur? qui indique quand est montée la personne et dans quel wagon

  8. #8
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    Oui effectivement pour connaître le wagon le plus utilisé, il suffit de compter pour chaque wagon le nombre de fois qu'il est présent dans la table voyageur et le tour est joué, en ce qui concerne les date effectivement elles ne sont pas géré mais cette question n'était pas soulevée dans le problème de départ.
    Hervé
    -------

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Si nous prenions en compte le temps, il faudrait ajouter une table je pense.

    Voyageur (#n°desécu,nom, prénom,*immatriculation_wagon,*lettre_station,*Date,*heure) ;
    Wagon (#immatriculation_wagon, nombr_places,nbr_de_place_restante) ;
    Station (#lettre_station);
    Calendrier(#Date, #heure)

  10. #10
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    Pas obligatoirement tu peux utiliser l'heure du système et juste rajouter 2 simples attributs :
    Voyageur (#n°desécu,nom, prénom,*immatriculation_wagon,*lettre_station,Date,heure);
    Et pour les stats il suffirais juste de parcourir la table voyageur en cherchant une date et une heure précises ...
    Hervé
    -------

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    oui c'est sûr que le système a moyen d'avoir accès à la date et l'heure, autrement la table y correspondant serait gigantesque. Il faut que je me plonge la dedans sérieusement héhé

  12. #12
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    oui mais à chaque fois que ton voyageur remontera dans un wagon, tu perds les données concernant son précédent voyage.
    Encore une fois, je ne sais pas si l'historique des mouvements des voyageurs t'intéresse, c'est juste un petit plus qui te servira si tu as besoin de faire des stats ou autre.

    Quand je disais
    "connaitre le moment de la journée où il y a le plus de voyageurs"
    c'était en fait faire une moyenne sur toutes les données que tu auras récupéré au cours du temps...

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

Discussions similaires

  1. taux de remplissage d'un index
    Par alassanediakite dans le forum Développement
    Réponses: 2
    Dernier message: 21/02/2012, 20h59
  2. SQL 2010 Taux de remplissage des colonnes / tables
    Par christophe06000 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2011, 17h25
  3. Taux de remplissage d'une base mySQL
    Par ogerault dans le forum Administration
    Réponses: 2
    Dernier message: 08/08/2010, 17h03
  4. Réponses: 13
    Dernier message: 26/01/2009, 13h00
  5. [MCD] modélisation taux de remise
    Par totoche dans le forum Schéma
    Réponses: 4
    Dernier message: 31/07/2007, 16h06

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