我想知道如何采取最好的方法来解决这种情况。这是一个数据库结构问题...让我们看看案例。
我有一些具有相同结构的数据库(比如说 db_A、db_B、db_C)。当然,它们的结构相同,但数据不同。
还有一个具有权限 (db_permissions) 的数据库,另一个具有用户 (db_users) 的数据库。
db_permissions结构表将是ID,权限;其中permission是一个唯一的字符串标识符(如post:create)。
现在,有一个用户对每个表具有不同的权限。例如:用户 123 有权在 db_A 中撰写帖子,有权仅阅读 db_B 上的帖子,以及读取、写入的权限并删除 db_C 上的帖子。
我的问题是,我应该如何引用每个表的权限?
我是否引用唯一字符串标识符(例如 post:create、post:read)并将其直接添加到每个数据库权限(例如user_id -permission_string )?
或者我是否通过权限数据库上的 ID 主键引用它们(例如 user_id -permission_id)?
在我的 PHP 脚本中,当我检查权限时,我通过唯一字符串标识符进行检查。
你会推荐什么?您会使用其他结构来获取权限吗?
感谢您的时间和回答!
最佳答案
如果您有一个将 ID 映射到权限字符串的 permissions
表,那么您应该在存储用户权限的其他表中使用这些 ID。
您应该有一个 table_permissions
表,其中包含 3 列:user_ID
、table_ID
、permission_ID
。
关于php - 公共(public)表引用,Int 还是 String 标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18530600/