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 :

Sur les badges [MCD]


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 27
    Points : 38
    Points
    38
    Par défaut Sur les badges
    Bonsoir,

    alors voila j'ai un léger gros problèmes ( lol )

    J'ai un utilisateur qui possède un badge qui celui ci a le droit d'ouvrir ou non des portes.
    j'ai donc réussi a gérer et modéliser cette partie mais maintenant mon problème se situe à un autre endroit je vous explique déjà mes tables.

    UTILISATEUR : N° BADGE , Nom , prénom etc ...
    BADGE : N° Badge , groupe , premier droits , derniers droits.
    DROITS : Id , N° de badge , N° de porte

    et pour l'instant ma table groupe ne contient que son nom et je ne vois pas comment modéliser le fait qu'elle doit pouvoir contenir des droits et changer tous les droits des utilisateurs d'un groupe donné.

    Merci d'avance

  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
    1) Le numéro du badge ne devrait pas être clé primaire.
    Il vaut mieux avoir une clé primaire sans signification, invariable, de type entier et auto-incrémenté pour les tables issues des entités types du MCD.
    Potentiellement, un utilisateur peut changer de badge, s'il perd le sien par exemple. La clé primaire de la table UTILISATEUR ne serait donc plus invariable.

    2) La table DROITS (qui devrait être nommée au singulier comme les deux autres) a une clé primaire et ce qui ressemble à deux clés étrangères, ce qui fait qu'il est possible, sauf si tu as une contrainte d'unicité sur le couple {N° Badge, N° porte}, d'attribuer plusieurs fois les mêmes droits aux badges.
    Ta table ressemble à une table associative (issue d'une association du MCD) et ne devrait donc pas avoir de clé primaire indépendante.

    et pour l'instant ma table groupe ne contient que son nom
    3) Elle devrait avoir au moins un identifiant en plus du nom !

    je ne vois pas comment modéliser le fait qu'elle doit pouvoir contenir des droits et changer tous les droits des utilisateurs d'un groupe donné.
    Si j'ai bien compris, tu as d'une part ce MCD :
    UTILISATEUR -1,1----appartenir----0,n- GROUPE

    Par ailleurs, tu veux attribuer des droits sur des portes à un groupe :
    GROUPE -0,n----autoriser----0,n- PORTE

    Il aurait peut-être fallu commencer par là et ne gérer en plus que les droits supplémentaires de certains utilisateurs par rapport à leur appartenance à un groupe.
    UTILISATEUR -0,n----avoir_droit_special----0,n- PORTE

    Il faudrait aussi modéliser une contrainte d'exclusion entre les droits des groupes et les droits spéciaux des utilisateurs pour éviter les doublons de droits.

    Au final, je verrais plutôt cette structure de tables :
    badge (bdg_id, bdg_numero...)
    groupe (grp_id, grp_nom...)
    porte (prt_id, prt_emplacement...)
    grp_autoriser_prt (gap_id_groupe, gap_id_porte)
    utilisateur (uti_id, uti_id_badge, id_groupe, uti_nom, uti_prenom...)
    uti_droit_special_prt (udsp_id_utilisateur, udsp_id_porte)
    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 !

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

Discussions similaires

  1. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  2. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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