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 utilisateur MCD


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut Gestion utilisateur MCD
    Bonjour à tous !

    Aujourd'hui, je suis confronté à un problème au niveau de la conceptualisation.
    En effet, j'ai un crée un MCD. Ce MCD permet de gérer le transfert des produits d'un stock à un magasin, magasin au stock, etc etc (il y a plusieurs cas comme celui ci).
    Cependant, le transfert se fait par des utilisateurs, et je dois connaître les utilisateurs qui ont transféré tel matériel à tel stock/magasin etc.
    J'ai crée une entité User, ma question serait de savoir si je dois relier l'entité User à chaque transfert ? (Sur mon modèle, il y a actuellement plus de 5 types de transfert (comme stock à magasin par exemple), faut-il que je relie l'entité User à chaques transfert ?)

    (Pour info, un transfert est une association (CIM), si il y a plusieurs transfert, ça sous entend qu'il y a plusieurs associations).

    En vous remerciant d'avance !

    Si ce que j'ai écrit n'est pas clair, merci de me le dire, afin que je puisse m'exprimer d'une autre manière

    edit : j'ai oublié de préciser que le vais créer un site en PHP, donc je vais utiliser des $_SESSION pour l'utilisateur..... Que faire au niveau de mon MCD ?

  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
    Si tu nous montrais ton MCD, ce serait plus clair !

    As-tu modélisé un héritage de données pour tes 5 types de transfert ?
    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 à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Non pas besoin d'héritage ! Le problème est que ce MCD est celui de l'entreprise où je travail, je ne sais pas si je peux le publier ici..... Au pire des cas je fais un modèle qui ressemble à celui ci ?

    En fait un produit peut être affecté à un magasin ou dépot.

    Exemple :

    Produit(numProd, nomProd, etc etc)
    Magasin(numMag, nomMag, etc etc)
    Date(date)
    Affecter(#numProd, #numMag, dateDebut, dateFin) ---> je gère l'historique également, c'est pour ça que j'utilise dateDebut dateFin.

    Pour ce cas par exemple, je souhaite savoir qui a affecté le produit en magasin.
    J'ai pris ce cas là, mais il y a environ 6 cas comme celui ci.

    J'ai des user :

    User(numUser, nomUser etc etc)
    droit(num_droit, nomdroit)

    Faut-il que ce User soit lié à l'association Affecter ? (Faut savoir qu'il y a 6 associations de ce type là)

    Si tu as besoin que je schématise, je peux créer quelque chose pour mieux te montrer

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    En fait faut-il que je relie chaque associations à l'entité User pour connaître qui a affecté ces transferts ?

  5. #5
    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
    Moi je dirais qu'un magasin ou un dépôt sont en quelque sorte tous deux des bâtiments. Ainsi, tu n'aurais plus à gérer que des transferts depuis et vers des bâtiments.

    Règle de gestion :
    Un bâtiment est qualifié par un seul type et un type peut qualifier plusieurs bâtiments.

    MCD :
    type_batiment -0,n----qualifier----1,1- batiment

    Tables :
    tr_type_batiment_tbt (tbt_id, tbt_libelle)
    te_batiment_btm (btm_id, btm_id_type_batiment, btm_nom, btm_adresse...)

    Règles de gestion :
    Un transfert concerne un seul produit et un produit peut être concerné par plusieurs transferts.
    Un transfert part d'un bâtiment et un bâtiment peut voir partir plusieurs transferts.
    Un transfert arrive à un bâtiment et un bâtiment peut voir arriver plusieurs transferts.
    Un transfert est opéré par un utilisateur et un utilisateur peut opérer plusieurs transferts.

    MCD :
    utilisateur -0,n----opérer----1,1---|
    batiment -0,n----partir----1,1- transfert -1,1----concerner----0,n- produit
    |--------------0,n----arriver----1,1----|

    Il faut en plus une contrainte d'exclusion entre les association "partir" et "arriver" pointant vers "batiment" pour spécifier que les deux bâtiments objet du transfert ne peuvent pas être le même.

    Il faudra aussi des contraintes au niveau des dates pour empêcher un transfert d'un produit partir alors qu'un autre transfert du même produit n'est pas arrivé.

    Tables :
    te_utilisateur_usr (usr_id, usr_nom...)
    te_produit_prd (prd_id, prd_reference, prd_nom...)
    te_transfert_trf (trf_id, trf_id_utilisateur, trf_id_produit, trf_id_batiment_depart, trf_id_batiment_arrivee, trf_date_depart, trf_date_arrivee, ...)
    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 !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Bonjour, et merci pour ta réponse


    Les entités que j'ai crée sont bonne (confirmés par mon tuteur de l'entreprise), mais le problème vient surtout de l'user.

    Si je reprends :

    Produit(numProd, nomProd, etc etc)
    Magasin(numMag, nomMag, etc etc)
    Date(date)
    Affecter(#numProd, #numMag, dateDebut, dateFin)

    Est-ce possible, par exemple, d'ajouter un champs Utilisateur dans l'entité Affecter ? (Ce sera un site crée en PHP, j'utiliserai des $_SESSION pour connaître l'utilisateur qui va affecter le produit).

    Affecter(#numProd, #numMag, dateDebut, dateFin, utilisateur)

    Donc si un utilisateur affecte un produit X d'un magasin à un autre, j'enregistre son nom dans l'association Affecter. Est-ce une solution fiable ? Tout en sachant que si je lie l'entité user aux associations, il y aura un problème de lisibilité sur le MCD.


    En te remerciant d'avance

  7. #7
    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
    Citation Envoyé par vik93 Voir le message
    Les entités que j'ai crée sont bonne (confirmés par mon tuteur de l'entreprise),
    Ça reste à démontrer mais comme tu ne fournis pas le MCD, on ne pourra apparemment pas en juger.

    Citation Envoyé par vik93 Voir le message
    Est-ce possible, par exemple, d'ajouter un champs Utilisateur dans l'entité Affecter ? (Ce sera un site crée en PHP, j'utiliserai des $_SESSION pour connaître l'utilisateur qui va affecter le produit).

    Affecter(#numProd, #numMag, dateDebut, dateFin, utilisateur)
    Oui ; c'est d'ailleurs ce que j'ai fait aussi dans mon modèle :
    Citation Envoyé par CinéPhil
    te_transfert_trf (trf_id, trf_id_utilisateur, trf_id_produit, trf_id_batiment_depart, trf_id_batiment_arrivee, trf_date_depart, trf_date_arrivee, ...)
    Citation Envoyé par vik93 Voir le message
    Donc si un utilisateur affecte un produit X d'un magasin à un autre, j'enregistre son nom dans l'association Affecter.
    Pas son nom ! Son identifiant ! Ta colonne "utilisateur" est une clé étrangère et elle doit référencer une clé primaire qui est, en principe, un entier auto-incrémenté.

    Citation Envoyé par vik93 Voir le message
    Tout en sachant que si je lie l'entité user aux associations, il y aura un problème de lisibilité sur le MCD.
    On en revient au départ : le MCD est-il si juste que cela ?
    Car je ne vois pas pourquoi tu as autant d'associations. Peux-tu les donner toutes ou bien est-ce secret défense ?
    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 !

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Par MP dans ce cas là ?

  9. #9
    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
    Si tu veux.
    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 !

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Ca ressemble assez au problème que j'avais eu avec mes gifts qui étaient transférés de l'entrepôt vers la centrale ou les magasins et des magasins vers la centrale ^^.

    (D'ailleurs, encore merci à Cinéphil et fmsrel pour leur aide (et aux autres que j'oublie...désolé))

    Personnellement et avec le peu d'infos à disposition, je trouve le modèle de Cinéphil plus clair et plus flexible.

    Pour la clarté :
    Avec celui apparemment validé par ton tuteur, tu auras donc ton(tes) dépôt(s) dans l'entité magasin. Franchement pas top.

    Pour la flexibilité :
    De plus, avec le modèle proposé par Cinéphil, si, un jour, un nouveau type de bâtiment vient se rajouter au schmilblick, cela ne posera pas de problème.
    Kropernic

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    mezrci Kropernic, je vais étudier tout ça attentivement

Discussions similaires

  1. Recherche cms pour gestion utilisateurs
    Par Invité dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 29/04/2008, 18h22
  2. [MDW][ADO][ACCESS 2002] Gestion utilisateurs
    Par Frank dans le forum Sécurité
    Réponses: 7
    Dernier message: 04/09/2007, 17h48
  3. gestion utilisateur sécurité
    Par liloo31 dans le forum Sécurité
    Réponses: 7
    Dernier message: 19/02/2007, 18h47
  4. Replica et gestion utilisateurs
    Par odelayen dans le forum Access
    Réponses: 4
    Dernier message: 09/06/2006, 13h53
  5. Gestion utilisateurs avec droits
    Par dr_look dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/04/2005, 16h03

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