组的SQL表?哪种解决方案会更好?

时间:2017-08-24 19:26:49

标签: mysql sql

我尝试使用MySQL在我的网络中设置群组。用户可以加入群组或创建群组。在下面的两个选项中,我试图确定哪种解决方案更好。

第一个解决方案:

我创建了一个名为" Groups"列:

ignored: /file[1-2]\.txt/, // ignores files matching this regex

在此解决方案中,我会将用户保存在- GroupID - GroupName - Createtime - GroupMembers... 列中,如此" user1; / user2; /"等等。这是我的第一个解决方案;我不知道这是否比第二个解决方案更快。我只想查找GroupMembers等等。

第二个解决方案:

我会在第一个解决方案中创建一个表,但没有列GroupMembers,我会为GroupMembers创建第二个表。 该表将包含以下列:

GroupMembers

加入一个组时,它将存储在上表中。

2 个答案:

答案 0 :(得分:1)

第一个解决方案是Bad,因为它打破了规范化。

第二种解决方案是好的。

答案 1 :(得分:1)

典型的方法是拥有Users表,Groups表和UserGroups(或GroupUsers)表