1

我有用于帐户、组和项目的表格。现在我想描述帐户和组对帐户和项目的访问权限。对于项目,有读、写和无访问权限,而对于帐户,只有访问权限,没有访问权限。

我想到的第一个解决方案是使用以下布局创建一个访问表:

INT accessed_account_or_project_id
INT accessor_account_or_group_id
BOOLEAN accessed_is_project
BOOLEAN accessor_is_group
BOOLEAN canWrite

这是一个好的结构还是应该为项目和帐户访问权限创建 2 个单独的表,或者甚至可能为不同的访问者创建 4 个表?

我找到了一些关于多对多关系的一般建议,但在这种情况下,由于歧义和canWrite ,我不确定作为新手。

4

1 回答 1

1

您不应该有代表两组不同数据的列_or_,因此我建议您使用四表解决方案来处理帐户/项目/组权限映射的可能组合。这应该可以很容易地强制执行约束以防止权限冲突。

表中条目的存在可以指示访问,但projects具有额外的访问级别。只要你不认为后面会引入更多的访问级别,我认为canWrite两个projects表上的列就可以了。否则,您可能拥有指向具有一组权限类型的另一个表的链接。

于 2013-04-05T03:21:10.737 回答