擅长:python、mysql、java
<p>我不是100%确定什么对你最有效,但在过去,我发现使用以下解决方案是最容易查询和维护的未来。你知道吗</p>
<pre><code>Table: Experiment
Experiment_Id | data_1 | data_2
-
1 | ... | ...
2 | ... | ...
Table: User
User_Name | Password | ...
User1 | ...
User2 | ...
Table: User_Experiment_Permissions
User_Name | Experiment | Can_Read | Can_Edit
User1 | 1 | true | false
User2 | 1 | false | false
User1 | 2 | true | true
User2 | 2 | true | false
</code></pre>
<p>如您所见,在新表中,我们引用了用户和实验。这使我们能够精细地控制用户和实验之间的关系。另外,如果这个关系产生了一个新的权限,比如<code>can_delete</code>,那么您只需使用默认值将它添加到新的交叉引用表中,所做的更改将被重新添加到您的系统中:-)</p>