Meilleure façon de représenter les rôles d'utilisateur dans la base de données

Représente les autorisations de l'utilisateur de mieux dans la table user ou mieux dans sa propre table des autorisations?

Les autorisations de l'Utilisateur table
Mettre les autorisations dans la table user des moyens de faire une colonne pour chaque autorisation dans la table user. Un avantage est de requêtes devraient courir plus vite, car pas de jointures sont nécessaires lorsque les utilisateurs pour les autorisations de l'utilisateur. Un inconvénient est que le fait d'avoir de nombreuses autorisations colonnes encombre la table utilisateur.

Autorisations Autorisation tableau joint à l'Utilisateur table avec plusieurs-à-plusieurs relations
Cette façon de faire sépare les autorisations de l'utilisateur table, mais nécessite une jointure entre deux tables pour accéder aux autorisations de l'utilisateur. La base de données, l'accès peut être plus lent, mais la conception de base de données semble plus propre.

Peut-être de garder les autorisations dans un tableau distinct est mieux quand il y a de nombreuses autorisations. Quels sont les autres facteurs à considérer dans la prise de cette décision, et qui est meilleur dans les diverses situations?

source d'informationauteur steampowered