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 :

Gérer des règles métier dans un SGBD


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut Gérer des règles métier dans un SGBD
    Bonjour,

    Je suis en ce moment en stage de fin d'année et je dois modéliser le système de tarification de l'entreprise dans laquelle je suis.

    Je me suis retrouvé confronté à un problème de règle métier dans ces tarifs. Je ne sais pas comment stocker des règles de tarification du genre : Tarif2 = 50% de tarif1.

    Je dois stocker ces règles en base car celles-ci peuvent être modifiés après négociation avec le client et qu'il faut pouvoir garder un historique de ces règles.

    Pouvez-vous donc me donner une piste de réflexion pour m'aider à aborder le problème s'il vous plaît ?

    Je vous remercie d'avance pour votre aide,
    Mathieu

  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
    Que sont tarif1 et tarif2 dans la BDD ? Des colonnes d'une table ?
    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
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Ce sont des instances d'un table 'Article'

  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
    Tu veux dire que ce sont des valeurs d'une même colonne dans deux lignes différentes de la table article ?

    Il faudrait que tu nous donnes ton schéma de données actuel et un exemple concret de ce que tu souhaites.
    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
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Pour précisions : J'ai une table 'Article' avec comme champ un nom et un prix.

    J'ai deux attributs : RefA donc le prix est de 10€ négociable
    et RefB dont le prix est de 50% du prix de RefA (pourcentage également négociable).

    Et je ne sais pas comment modéliser des règles de tarifs comme celle de RefB

    merci pour ton intérêt à mon problème,

    Mathieu

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    RefA et refB sont relié comment à un article ?

    il faut plus de précision comme le demande Cinephil, la c'est trop vague fonctionnellement pour comprendre votre système de tarif / remise actuel

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Pardon mais je dois vraiment m'exprimer mal.

    RefA et RefB sont tous les deux des articles..

  8. #8
    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
    Tant que tu ne seras pas plus précis dans tes descriptions et demandes, nous ne pourrons pas t'aider efficacement.

    Applique la phrase en bleu de ma signature et applique son principe !
    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 !

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    J'essaye promis ^^.

    Bon je recommence depuis le début dans ce cas.

    J'ai à gérer une collection d'article se présentant sous forme de référence imbuvable.

    Ces références possèdent toutes un prix.

    Quand ce prix est une valeur (par exemple 20€) alors pas de problème

    Cependant, ce prix n'est pas toujours un simple chiffre et peut être une "règle" indiquant que le prix dépend du prix d'un autre article.

    Un exemple pour illustrer cela :

    Un article ayant la référence RefA coûte 20€ (ici pas de problème)

    Un second article ayant pour référence RefB coûte "50% du prix de RefA" (c'est ce genre de "règle" concernant les prix que je ne sais pas modéliser)

    J'espère avoir été un peu plus clair dans mon explication :/

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Quel est votre MCD actuel pour les entités article, référence, tarif ? (+ autre entité autour de celle-ci si pertinante)

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Justement je dois le créer, il n'y a pas d'existant..

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    oki, dans ce cas il va falloir vraiment développez vos règles de gestion.

    Il faut que vous fassiez une présentation de ce style :
    - un article peut avoir une à plusieur référence
    - une référence peut être associé à aucun ou un article

    et ceci pour toutes vos entité identifiées.

    Ensuite indiquez clairement toutes les relations possible entre vos tarif :
    - pour l'instant on sait qu'un tarif A peut être un tarif B * X%
    - y a-t-il d'autre cas ?

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Il y a quatre cas de ce type à ce jour :

    -le premier c'est celui de l'exemple
    -RefD = 20 % du prix de RefC (c'est le même cas)
    -RefJ = Somme des prix des Ref de catégorie 1

    Alors pour ce cas il y a une notion de catégorie, chaque référence est classé en trois catégories à ce jour.

    Les quatre cas où il y a des règles appartiennent a la même catégorie mais sont quand même mélanger avec des références "normal".

    Et quatrième cas : -RefK = somme des pris de Ref de catégorie 1 + 25%

  14. #14
    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
    Un exemple pour illustrer cela :

    Un article ayant la référence RefA coûte 20€ (ici pas de problème)

    Un second article ayant pour référence RefB coûte "50% du prix de RefA" (c'est ce genre de "règle" concernant les prix que je ne sais pas modéliser)
    J'établirias ces deux règles de gestion :
    1) Un article peut avoir un prix et un prix est celui d'un seul article.
    2) Un article peut être tarifé selon le prix d'un autre article et le prix d'un article peut déterminer le tarif de plusieurs autres articles.

    De ces deux règles de gestion, on tire le MCD suivant :

    article -0,1----avoir----(1,1)- prix
    |-----------0,1----tarifer----0,n----|

    En ajoutant une exclusion entre les deux associations, ça doit fonctionner.

    Cela donnerait les tables suivantes :
    article (art_id, art_ref, art_nom...)
    prix (prx_id_article, prx_prix)
    tarification (trf_id_article, trf_id_prix, trf_formule)

    Au programme ensuite d'interpréter la formule pour donner le bon prix à l'article tarifé selon un autre.

    Il faudra aussi un trigger pour empêcher l'insertion dans tarification d'un article déjà existant dans prix et un autre pour empêcher l'insertion dans prix d'un article existant dans tarification.
    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 !

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    Merci pour votre aide je vois ce qu'il faut faire

    Merci pour votre patience aussi ^^

Discussions similaires

  1. Intégration des couches métiers dans Rails
    Par MeMyself&I dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 19/03/2008, 12h00
  2. SI & SGBD : comment/où gérer les règles métier ?
    Par Franck_P dans le forum Débuter
    Réponses: 9
    Dernier message: 10/03/2008, 13h08
  3. Comment représenter une règle métier dans un MCD ?
    Par niconoe dans le forum Schéma
    Réponses: 4
    Dernier message: 11/10/2007, 14h33
  4. Réponses: 4
    Dernier message: 08/04/2007, 17h17

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