【发布时间】:2017-01-27 09:40:05
【问题描述】:
我有一个表格,其中包含用于不同实验的数据行。
experiment_id data_1 data_2
------------- ------ -------
1
2
3
4
..
我在 django 上有一个用户数据库,我想存储指示哪些用户可以访问哪些行的权限,然后只返回用户被授权的行。
我应该使用什么格式来存储权限?只是一个表格,每个用户都有一行,每个实验用布尔值有一列?在那种情况下,每次添加实验时我都必须在此表中添加一行?
user experiment_1 experiment_2 experiment_3 ..
---- ------------ ------------ ------------ --
user_1 True False False ..
user_2 False True False ..
..
任何关于该主题的参考文献也很好,最好与 sqlite3 功能相关,因为这是我当前的数据库后端。
【问题讨论】:
-
我不会为每个实验添加列。但这就是我。请参阅Junction Tables 忽略 csv 部分。其余适用
-
您是否尝试过查看涉及“交叉引用表”的解决方案? IE。表“实验”、“用户”、“User_Experiment_Permission”?
-
你需要了解database normalization。这应该指导您的最终设计:提示:您提出的建议将起作用,但将是维护的噩梦。
标签: python mysql django database sqlite