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

Symfony PHP Discussion :

champ ROLE dans la table USER ou dans une autre table ?


Sujet :

Symfony PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut champ ROLE dans la table USER ou dans une autre table ?
    Bonjour,

    Alors voila, je me pose une question concernant le champ ROLE déjà présent dans la table User.

    J'ai mon appli qui nécessite pour chaque membre, un rôle bien spécifique, en l'occurrence dans mon cas ROLE_WORKER ou ROLE_CUSTOMER.

    Je me demande si c'est une bonne pratique de garder le champ ROLE dans la table User comme a l'origine dans Symfony ou bien il faudrait peut être que je déplace le champ ROLE pour en faire une table a part entière afin de ne pas surcharger le serveur ? ou même ne pas faire de table du tout, mais plutôt 2 constantes.. enfin je ne sais pas

    Je me pose cette question car sur plusieurs sites d'apprentissage de php (hors Symfony) il est écrit qu'il est préférable d'avoir des état 1, 2 etc.. par exemple 1 pour WORKER et 2 pour CUSTOMER plutôt qu'un tableau en base de donnée surement pour la vitesse et les performances etc..
    quelle est la bonne pratique selon vous ET pourquoi ?

    merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 321
    Points : 642
    Points
    642
    Par défaut
    Bonjour,

    Je ne vois pas très bien en quoi le fait d'enregistrer les rôles dans une autre table pourra avoir un impact sur la "surcharge du serveur". Il faudra de toute façon que les rôles soient enregistrés en bdd, soit sous forme d'un tableau dans l'entité user, soit via une relation, mais la différence en terme de performance me semble minime (une jointure en plus).

    Je n'ai pas bien compris la notion d'état pour chaque rôles (1 pour WORKER et 2 pour CUSTOMER). Il s'agit de p-e de la clé étrangère utilisée dans la relation entre l'entité User et Role ?

    A mon avis, l'entité Role peut avoir un intérêt si tu souhaites créer/modifier/supprimer les rôles dans ton application (via le backoffice admin par exemple).
    Si les rôles de ton application ne sont pas amenés à changer, le plus simple semble être de conserver les rôles sous forme d'un tableau dans l'entité User.

Discussions similaires

  1. [AC-2016] Copier la valeur d'un champ automatiquement dans une autre table ?
    Par Eleve-bdd dans le forum IHM
    Réponses: 8
    Dernier message: 27/04/2020, 11h25
  2. Réponses: 4
    Dernier message: 26/12/2016, 13h26
  3. Réponses: 1
    Dernier message: 08/12/2014, 22h23
  4. order by "un-champ-dans-une-autre-table"
    Par SnakeBoudoir dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/03/2005, 10h55

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