【发布时间】:2018-09-20 08:41:46
【问题描述】:
我想知道为您的用户组织带有任务的数据库表的标准方法是什么。
我们以奇妙清单为例 - 有很多用户存储他们的 TO-DO 任务。
是否应该有一个tasks 表和user_id 列来确定谁是任务的所有者?
还是应该有很多表,如user1_tasks、user2_tasks 等...?
【问题讨论】:
-
无论里面的数据如何,您都应该有一个固定数量的表,因此您最好选择“一个
tasks表和user_id列”。您还应该查看外键以确保user_id有效 -
您不应该创建像
user1_tasks、user2_tasks这样的表,因为这不是一个可扩展的解决方案。你会创建多少张表?假设 5. 如果您最终想要一个包含六个用户的列表怎么办? -
从安全角度来看这也很好吗?将多个用户的数据存储在一张表中?
-
当然,从安全角度来看,过滤单个表中的列与从不同表中进行选择没有什么不同
-
在关系数据设计中,当您发现自己在表或列的名称中添加数字时,您可能没有正确进行设计。