【发布时间】:2016-01-11 20:43:49
【问题描述】:
在我的应用程序中,我需要为我的用户分配多个组。有 1000 多个用户和 10-15 个组。
哪个数据库设计更好?
一对多:
USER_ID | GROUP_1 | GROUP_2 | ... | GROUP_15
--------------------------------------------
1 | true | false | ... | true
2 | false | true | ... | true
3 | true | true | ... | true
. | . | . | ... | .
. | . | . | ... | .
. | . | . | ... | .
或多对多:
USER_ID | GROUP_ID
------------------
1 | 1
1 | 15
2 | 2
2 | 15
3 | 1
3 | 2
3 | 15
. | .
. | .
. | .
?
【问题讨论】:
-
第一个不是任何传统意义上的“一对多”,第二个是你应该使用的设计。
-
This post 可能对你有用。
-
尝试编辑这个问题,并以鼓励具体答案而不是一般意见的方式重新表述它。一般来说,数据库的设计应该是特定于业务的。通常会有多种同样可以接受的解决方案。
标签: mysql sql database sqlite relational-database