是在用户表中更好地表示用户权限,还是在其自己的权限表中更好地表示用户权限?
用户表
中的权限 将权限放在用户表中意味着为用户表中的每个权限创建一列。一个优点是查询应该运行得更快,因为在将用户与用户权限相关联时不需要连接。一个缺点是拥有许多权限列会使用户表变得混乱。
Permission 表中的权限以多对多关系连接到 User 表
这样做可以将权限与用户表完全分离,但它需要跨两个表连接才能访问用户权限。数据库访问可能会更慢,但数据库设计似乎更干净。
当有许多权限时,将权限保存在单独的表中可能会更好。做出此决定时还有哪些其他考虑因素,在各种情况下哪种设计更好?