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 :

Historique des locations [MCD]


Sujet :

Schéma

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Historique des locations
    Bonjour, je suis en première année de BTS IG et j'ai un petit soucis qui me donne mal à la tête.

    J'ai un problème sur une partie de mon MCD, le reste est bon. Je ne peux pas vous transmettre "d'image" du MCD alors j'explique mon problème.

    Voilà, je dois réaliser une Base de Données Access, mais avant tout le MCD ^^

    Il s'agit de la gestion de la location et des facturations de garages pour véhicules.

    Il y a 40 garages, chaque garage correspond à une taille (longueur), sachant qu'un garage peut changer de taille (oui oui lol, garage avec des grilles modulables XD).
    Il existe trois tailles de garages différentes: 5m50, 6m50 et 7m
    A chaque taille de garage correspond un tarif.
    Et le tarif est modifié chaque année.
    Donc pour une année donnée on a seulement 3 tarifs.


    Comment modéliser tout cela pour qu'après lors d'édition d'éventuelles vieilles factures le tarif correspond bien à l'année de cette facture par exemple.

    Je demande juste la partie Garage - TailleGarage - Tarif - Année...

    J'ai tourné ça dans tous les sens, j'ai imaginé tous les cas possibles et il me faut vraiment un regard neuf car je tourne en rond et pour rien je pense lol.

    Merci par avance!!

  2. #2
    Membre actif Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Points : 214
    Points
    214
    Par défaut
    salut,

    en gros tu as la règle de gestion:
    Un garage a une Taille qui lui correspond un tarif qui est modifié chaque année
    donc une association ternaire entre les 3 entités garage,taille et année qui porte la propriété tarif.
    Un thésard a souvent un problème de motivation jusqu'au moment où il aura un problème de temps....

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre réponse

    Je pensais à cette solution... Mais j'ai quand même un problème au niveau des cardinalités, surtout quand on décompose tout ça (passer d'associations ternaires à binaires pour vérifier qu'on oublie pas une règle de gestion).
    Je ne suis pas trop à l'aise avec les associations ternaires

  4. #4
    Membre actif Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Points : 214
    Points
    214
    Par défaut
    salut,

    je pense que la solution la plus correcte est:
    Garage 1.1.....a.....1.n Taille
    Taille (avec l'attribut tarif) 1.1....correspond....1.n Année
    Un thésard a souvent un problème de motivation jusqu'au moment où il aura un problème de temps....

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    bonsoir,
    ça prend toujours la tête ce genre de problème,

    Il y a 40 garages, chaque garage correspond à une taille (longueur), sachant qu'un garage peut changer de taille (oui oui lol, garage avec des grilles modulables XD).
    Il existe trois tailles de garages différentes: 5m50, 6m50 et 7m
    A chaque taille de garage correspond un tarif.
    Et le tarif est modifié chaque année
    J'ai un doute donc question pour être sur.
    le tarif (fonction de la taille) change tous les ans mais est-ce qu'un même garage peut changer de taille plusieurs fois dans la même année ?

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    rebonsoir,

    Taille (avec l'attribut tarif) 1.1....correspond....1.n Année
    mmmh! A chaque taille correspond un tarif donc une table Tarif(idtarif,montant,année). Non ?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Salut!

    Oui en effet un garage peut éventuellement changer de taille plusieurs fois dans une année, c'est rare mais pas impossible.

    En fait toutes les options que vous donnez je les ai plus ou moins essayées, et pour être franche j'en viens à ne plus savoir ce qui est bon.

    Je crois que je vais me Petit Suissider avec ma clé usb

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    bonjour,
    Je crois que je vais me Petit Suissider avec ma clé usb
    après votre diplome bts

    un garage peut éventuellement changer de taille plusieurs fois dans une année
    Prenez une aspirine et dites moi alors ce que vous pensez de:

    Garage----1,n----Moduler(datedébut,datefin)----0,n----Taille

    puis

    Taille-----1,n----correspondre-----1,1-----Tarif(idtarif,montant,année)

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est vrai que l'insertion d'un "moduler" simplifie le problème (si on peut dire ). J'ai bien l'impression que ça fonctionne!

    Je vais vérifier tout ça demain... Parce qu'aujourd'hui, c'est dimanche et mes neurones font grèves XD

    Merci pour l'aide!!

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    nan, ça marche toujours pasOn efface tout et on recommence.

    c'est quand meme pas un ptit MCD de rien du tout qui ...

    sur une idPériode-->un garage et une taille

    Un tarif relatif à une taille et à une année

    ça donne fichier image ci-joint à débattre

    (R) pour Relatif d'où la table Tarif(idtaille,idannée,montant)

    fais ce que j'peux et des fois, je peux pas
    Images attachées Images attachées  

  11. #11
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 619
    Points : 56 854
    Points
    56 854
    Billets dans le blog
    40
    Par défaut
    voire du côté garage,periode,taille:

    garage---0,n---Rel1---1,1(R)---Moduler(taille)---1,1(R)---Rel2---0,n---Période(idperiode,debut,fin)

    Table Moduler(idgarage,idpériode,idtaille)

    voila,voila...un MCD modulaire

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Reprenons depuis le début...

    Règle de gestion :
    Un garage peut avoir plusieurs tailles selon la période mais une seule taille pour une période.

    MCD :
    Garage -0,n----Dimensionner----0,n- Taille

    Tables :
    Garages (G_Id, ...)
    Tailles (T_Id, T_Longueur, ...)
    Dimensionner (GT_IdGarage, GT_IdTaille, GT_DateDebut, ...)



    Règle de gestion :
    A une taille correspond un tarif pour une année

    MCD :
    Taille -0,n----Tarifer----1,1- Tarif

    Tables :
    Tarifs (Ta_Id, Ta_Annee, Ta_IdTaille, ...) Avec contrainte d'unicité sur le couple (Ta_Annee, Ta_IdTaille)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  13. #13
    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,

    Je vais, moi aussi, tenter d'apporter ma pierre à l'édifice avec une proposition proche du schéma de f-leb (post #10).

    Le plus simple d'abord. On a un tarif par année fonction de la taille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [ TAILLE    ]--0,n----( TARIFICATION )----1,n--[ ANNEE ]
      id_taille             montant                  annee
      longueur
    Une remarque à f-leb au passage : une entité faible (Tarif) identifiée relativement par rapport à deux autres entités (Taille et Année) et ne comportant pas d'identifiant complémentaire propre, moi j'appelle ça une association (cf. TARIFICATION ci-dessus)

    Passons aux choses sérieuses, à savoir les garages, et surtout leur capacité à pouvoir changer de taille, et ce plusieurs fois dans l'année. Rappelons que l'objectif est de retrouver le tarif quelle que soit la période de la vie du garage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [ GARAGE    ]<-1,n----( )---(1,1)-[ CHANGEMENT  ]--1,1----( )----0,n->[ TAILLE ]
      id_garage                         date_change
    CHANGEMENT est une entité faible identifiée par rapport à GARAGE. Ainsi, pour un garage donné, la table dérivée de CHANGEMENT contiendra "l'historique" de ses changements de taille. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Table CHANGEMENT
    
    id_garage date_change taille#
    A123      01/01/2008  1
    A123      01/03/2008  2
    A123      01/07/2008  1
    A123      01/10/2008  3
    A123      01/02/2009  2

    JPhi33
    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

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

Discussions similaires

  1. Historique des transactions
    Par Plumet dans le forum Oracle
    Réponses: 3
    Dernier message: 22/03/2006, 10h28
  2. historique des transactions
    Par nah_wah dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 20/02/2006, 18h28
  3. [Struts]Historique des liens!
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/11/2005, 08h55
  4. Réponses: 1
    Dernier message: 26/10/2005, 14h35
  5. historique des bases de donnees
    Par killer dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 31/05/2005, 07h49

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