我正在开发一个程序,我想创建一个包含用户的组,然后它始终存在并保存在MySQL数据库中。我只是不知道该怎么做。我的意思是我可以创建一个表格,如下所示:
GROUPID INT PRIMARY KEY
GROUPNAME TEXT
USER1ID INT
USER2ID INT
USER3ID INT
然后我将不得不创建一个表,在这种情况下可以像 3 个用户一样,但这不是一个性能不佳的表,并且不可能动态地使组变大。如果我想从组中创建一个朋友列表,那么我也不能说用户只能有 3 个朋友。如何解决这个问题?
您需要 2 个表:
GROUPS - GroupId, GroupName
USERS - UserId, UserName, Password, GroupId
USERS 中的 GroupId 将用户条目链接到 GROUPS。您也可以(应该)使用外键强加链接。
如果一个用户可以属于多个组,则需要多对多关系。这是通过如下所示的第三个表实现的:
GROUPS - GroupId, GroupName
USERS - UserId, UserName, Password
USERS_GROUPS - UserId, GroupId