【发布时间】:2016-03-21 14:21:06
【问题描述】:
我有如下表。
我想存储 admin、reader、writer
等用户角色如何将值存储在我的表中。
我在 google 中搜索了很多结果,例如 2 种类型。
- 将值作为 user_roles 存储到单个列名,并以竖线 (|) 分隔存储值(同上)。
- 将值存储在另一个表中,例如 user_roles,并使用用户的外键存储。
以上两种方法哪个更适合开发?
请告诉我两者的优缺点...
感谢和问候
【问题讨论】:
-
第二个选项 - 第一个选项使查询单个字段变得更加困难,例如,如果您想显示角色为
writer的所有用户的列表 -
“数据库规范化”的快速谷歌搜索将是有益的
-
这真的取决于您要制作多大的系统,最聪明的方法是拥有一个单独的权限表,但如果您的系统只是一个小系统并且不会扩展就这么多,然后把它保存在同一个表中。
-
@uruloke 小项目变大,相反的情况很少发生
-
@Steve,但是数据库的大小是因为这个而变大的吗?
标签: php mysql database database-design