扫码关注官方订阅号
比如常见的角色和用户关联的角色用户关联表,字段如下:role_iduser_id
当有这两个字段的时候是否有必要单独设置一列id来作为主键?
没必要。但是你可以将两个字段都建立索引以加快查询速度。
每一个表都应该设置一个主键,并且最好是自增的主键
就数据库设计的范式化来说,我觉得如果这2个id能组成主键的化就没有必要再加个id了。
user和role多对多关联的话:
CREATE TABLE user_role ( user_id INTEGER NOT NULL, role_id INTEGER NOT NULL, PRIMARY KEY (user_id, role_id), KEY (role_id) );
这样,既可以查到某个用户的所有权限,又可以查到拥有某个权限(例如超级管理员)的所有用户。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
没必要。
但是你可以将两个字段都建立索引以加快查询速度。
每一个表都应该设置一个主键,并且最好是自增的主键
就数据库设计的范式化来说,我觉得如果这2个id能组成主键的化就没有必要再加个id了。
user和role多对多关联的话:
这样,既可以查到某个用户的所有权限,又可以查到拥有某个权限(例如超级管理员)的所有用户。