Maison > Questions et réponses > le corps du texte
Par exemple, les rôles et utilisateurs communs sont associés à la table d'association rôle utilisateur. Les champs sont les suivants :
role_id
user_id
Lorsqu'il y a ces deux champs, est-il nécessaire de configurer une colonne distincte d'identifiant comme clé primaire ?
某草草2017-06-22 11:56:41
Pas besoin.
Mais vous pouvez indexer les deux champs pour accélérer les requêtes.
高洛峰2017-06-22 11:56:41
Chaque table doit avoir une clé primaire, de préférence une clé primaire auto-incrémentée
世界只因有你2017-06-22 11:56:41
En ce qui concerne le paradigme de conception de bases de données, je pense que si ces deux identifiants peuvent former une clé primaire, il n'est pas nécessaire d'ajouter un autre identifiant.
女神的闺蜜爱上我2017-06-22 11:56:41
S'il existe une relation plusieurs-à-plusieurs entre l'utilisateur et le rôle :
CREATE TABLE user_role (
user_id INTEGER NOT NULL,
role_id INTEGER NOT NULL,
PRIMARY KEY (user_id, role_id),
KEY (role_id)
);
De cette façon, vous pouvez non seulement vérifier toutes les autorisations d'un certain utilisateur, mais également vérifier tous les utilisateurs disposant de certaines autorisations (telles que le super-administrateur).