Je fais la conception d'un CRM (customer relation management, suivi client).
Je suis en train de gérer les utilisateurs et leurs permissions.



Pouvez-vous vérifier si ma conception est correcte?

La table Region représente les branches de l'entreprise au monde entier.
La table Group représente les rôles auxquels sont associes les utilisateurs: Support Group, Adminsitrators, Sales Group, etc
La table Module représente les différents modules qu'on gère: Bug Tracker, Leads, Opportunities, etc.

Chaque rôle (group) et pour chaque module on a des permission définies.

Exemple:

Group: Support
Module: Bug Tracker
Permissions: View, Edit , Delete, Import, Export

L'administrateur peut associer les permission View et Edit au module Bug Tracker pour le group Support. (ainsi de suite pour tous les autre modules).

Une petit question, pour la table User: j'ai mis comme Primary Key userid mais je pense a mettre une clef composée: username et regionid, puisqu'on peut définir un username unique dans une region unique. Ceci est-il faisable au lieu de créer un nombre sequentiel comme Primary key?

Merci d'avance !