我有一种情况,我需要能够将用户分配给我拥有的多个组(当前用户),但不确定最佳方法。我已经阅读了其他一些帖子,但我认为我的要求略有不同。
AS3中的移动应用程序的情况允许注册用户创建朋友和群组,然后将朋友分配到群组。
目前我的表结构是:
User table
id username
--------------
1 user1
2 user2
3 user3
Friend link table
id user_id friend_user_id
-------------------------------
1 1 2
2 2 1
3 1 3
4 3 1
Group table
id group_name user_id
---------------------------
1 group1 1
2 group2 1
Group link table
id group_id user_id
-------------------------
1 1 2
2 2 2
3 1 3
基本上,用户创建一个设置ID的帐户,然后添加可以是其他注册用户的朋友。这将在朋友链接表中创建2条记录(每个用户一条)。然后,用户可以创建组(组按用户ID链接)。然后,用户可以将他们的朋友分配到组。
我想我有3个问题:
由于
编辑:问题2继续 - 通过设置组ID,用户ID和isSelected标志,将数组从应用程序传递到PHP脚本,我已经能够将选定的组写入组链接表,但是这会失败用户从组中删除,因为我只传递选定的组,而不是未选择的组。
答案 0 :(得分:0)
我对你的DB结构的建议是朋友列表和组列表之间有什么区别?两者都是特定标题下的人群,对吗?对我而言,由于重复链接,您可能会遇到一些不必要的开销。
例如,我建议将组表更改为更像
group_id: int not_null auto_increment
owner_id: int not_null
group_name: varchar(125) not_null
然后有一个group_join表
group_joinid: int not_null auto_increment
groupid: int not_null
userid: int not_null
其中groupid来自组表,而userid来自用户表。我不知道你的观众的规模,所以这种方法可能需要调整,但这种接缝可以消除用户和群体之间重复链接的可能性