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 :

Gestion d'un SAV [MCD]


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Points : 27
    Points
    27
    Par défaut Gestion d'un SAV
    Bonsoir à tous,

    Je dois créer une BDD et comme c'est la première fois j'aimerais avoir vos avis concernant mon premier MCD (Cf.PJ)

    - Contexte: Une entreprise de produits high-tech vend ses produits à des distributeurs (ex:fnac). Son SAV sous-traite la réparation des produits défectueux à des stations de réparations qui lui facturent en retour les interventions effectuées.

    - Contraintes:
    1- Un distributeur achète à l'entreprise UN ou plusieurs produits.
    2- Une station répare UN ou plusieurs produits (selon qu'elle est spécialisée ou pas).
    3- Les stations facturent au SAV les interventions effectuées.
    4- Une intervention peut nécessiter ou pas des pièces détachées.
    5- Une Intervention ne concerne qu'un produit à la fois.
    6- Une intervention peut engendrer ou pas une deuxième intervention (Rebond) ou plusieurs inter.

    D'avance merci pour vos réponses, conseils, critiques,... etc
    Images attachées Images attachées  

  2. #2
    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
    C'est pas mal du tout pour un premier MCD !

    En général, éviter les cardinalités minimales à 1 de chaque côté d'une association quand ce n'est pas indispensable.
    On peut ainsi supposer qu'une station de réparation est d'abord identifiée et enregistrée comme prestataire possible avant de lui confier une première réparation.
    De même, les distributeurs, qui sont les clients de l'entreprise, peuvent être identifiés comme clients potentiels avant d'avoir acheté le moindre produit.

    Mais si les règles de gestion sont celles, strictes, qui vous ont été données, laissez comme ça.

    Le seul point qui me chagrine vraiment est cette histoire de rebond sur une intervention...
    6- Une intervention peut engendrer ou pas une deuxième intervention (Rebond) ou plusieurs inter.
    Écrivons cela autrement :
    Une intervention peut nécessiter plusieurs autres interventions et une intervention peut-être nécéssitée à la suite d'une autre intervention.

    Le MCD est alors :
    Intervention -0,n----Nécessiter----0,1- Intervention

    Les tables seront les suivantes :
    intervention (i_id, ....)
    rebond (r_id_intervention_generatrice, r_id_intervention_suivante)

    Exemple :
    L'intervention A nécessite les interventions B et C et les interventions B et C sont nécessitées par (font suite à) l'intervention A

    Dans la table rebond, nous aurons les tuples :
    {A, B} et {A,C}

    Si l'intervention B nécessite à son tour une intervention D, nous ajoutons le tuple {B, D}
    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 !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup CinePhil. Cependant, je ne comprend pas la seconde cardinalité à zéro:

    Intervention -0,n----Nécessiter----0,1- Intervention


    Est ce que cela change quelque chose si je la remplace par 1.

    Merci.

  4. #4
    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
    Toute intervention ne fait pas suite à une autre intervention. donc la cardinalité minimale est 0.

    Reprenons la règle de gestion :
    Une intervention peut nécessiter plusieurs autres interventions et une intervention peut être nécéssitée à la suite d'une autre intervention.
    Ecrite de cette façon, une règle de gestion est facilement traduisible en schéma MCD.
    L'emploi du verbe pouvoir ('peut nécessiter' et 'peut être nécessitée') implique la possibilité donc la non existence et entraîne une cardinalité minimale à 0.

    Si tu mets une cardinalité minimale à 1, la règel de gestion devient :
    "Une intervention peut nécessiter plusieurs autres interventions et une intervention est nécéssitée à la suite d'une autre intervention."
    L'absence du verbe pouvoir implique l'obligation d'au moins une intervention en engendrant une autre. Dès lors interviendra fatalement la question : "Quelle intervention est la première ?"

    Au niveau des tables, une cardinalité 1,1 engendrerait une clé étrangère non nulle dans la table des interventions. Comme c'est une clé étrangère référençant elle-même une autre intervention, il y aurait fatalement un problème lors de l'enregistrement de la première intervention !

    Certains préfèreront mettre une clé étrangère nullable plutôt qu'une table associative.
    Les puristes du modèle relationnel, tel fsmrel, chassent le bonhomme NULL et préfèrent la table associative.

    Pour ma part, je dirais que si la grande majorité des cas entraîne une valeur nulle pour la clé étrangère, il vaut mieux faire une table associative.
    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 !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup pour ces explications.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 05/02/2015, 17h45
  2. gestion service SAV avec openERP
    Par Bobble dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 02/08/2012, 21h01
  3. [AC-2003] gestion de sav
    Par tony1 dans le forum Modélisation
    Réponses: 4
    Dernier message: 01/09/2009, 23h28
  4. Besoin d'aide pour MCD de la gestion des SAV
    Par balolo dans le forum Schéma
    Réponses: 6
    Dernier message: 07/12/2007, 16h06
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

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