0

我正在使用 Ruby on Rails,但我认为这个问题可以应用于任何数据库设计。我正在尝试开发自己的权限系统。

拥有一组用户可以编辑的内容是糟糕的设计吗?即 aUser有一列can_edit值为[Articles, Events, Costs]或 aUser can_view值为 [All]

然后我可以检查正在编辑的内容。或者这是糟糕的设计?

4

1 回答 1

2

一般来说,您的数据库设计应该正确规范化。这意味着您不应该在一行中存储多个值。具有三张桌子的设计可能会为您提供更好的服务

  • Permission有列permission_id并且permission_type列出了有效的权限
  • User有一user_id列并列出了价值用户
  • User_Permission是两者之间的映射表。它有列permission_iduser_id这两个列分别被定义为PermissionUser表的外键
于 2012-06-09T21:20:48.360 回答