我正在创建一个具有云同步功能的记事应用。云是一个MySQL服务器。有一个用户表,其中包含名称,密码和ID行,以及具有ID,便笺,标签,creator_id和shared_id的便笺数据库。用户表中的ID与creator_id相同,问题出在shared_id上。
用户应该能够与其他多个用户共享笔记。例如,用户1可以与用户2和用户3共享他的笔记,但是我不知道如何在shared_id行中存储多个ID。
_________ ______
user note
_________ ______
id ----- creator_id
name shared_id <--(array of user id's)
password note
labels
id
我正在考虑创建一个具有组ID和用户ID(称为user_id)的组表,但是问题仍然存在,在user_id行中将有多个ID。
________
group
________
id <--(id of the group, this would be used at the shared_id)
user_id <--(array of user id's from user table)
在此先感谢您的帮助。
示例数据库:
user
id name password
0 "test user" 123456
1 "shared with" 123456
2 "another user"123456
note
creator_id note labels id shared_id
0 "Something I will forget" "home, shop" 0 1, 2
Creator_id是创建注释的用户的ID,注释和标签是注释,ID是注释的ID(未连接到用户),shared_id应该是可以观看此注释的用户列表。 / p>
组表如下所示:
group note
id user_id shared_id
3 1, 2 3
| |
-----------------
组的ID和便笺的shared_id将相同,user_id将是用户表中的ID。
答案 0 :(得分:1)
正如@forpas在评论中建议的那样,
最好的方法之一是创建另一个带有两个字段即shared_notes
的表“ user_id and notes_id
”。其中user_id是共享笔记的用户表中的id,notes_id是笔记ID。
然后,您可以存储多个记录,例如,如果用户u0与u1和u2共享笔记n0,则表将为
shared_notes
------------
user_id notes_id
u1 n0
u2 n0