我正在开发一个程序,我希望创建一个包含用户的组,然后将其保存在MySQL数据库中。我只是没有任何线索如何做到这一点。我的意思是我可以创建一个像:
的表GROUPID INT PRIMARY KEY
GROUPNAME TEXT
USER1ID INT
USER2ID INT
USER3ID INT
然后我将不得不创建一个表,可以采取像这样的情况说3用户,但不是一个不高性能,没有可能动态地使组更大。如果我想在集团之外建立朋友列表,那么我也不能说用户只能有3个朋友。我该如何解决这个问题?
答案 0 :(得分:4)
您需要2张桌子:
GROUPS - GroupId, GroupName
USERS - UserId, UserName, Password, GroupId
USERS中的GroupId将用户条目链接到GROUPS。您也可以(应该)使用foreign key强加链接。
如果用户可以属于多个组,则需要many-to-many关系。这是通过第3个表实现的,如下所示:
GROUPS - GroupId, GroupName
USERS - UserId, UserName, Password
USERS_GROUPS - UserId, GroupId