1
我希望用户按照发布的顺序查看最近发布的帖子,但前提是创建帖子的用户授予用户查看它们的权限。很像谷歌+圆圈列表。社交网络好友列表,朋友圈子,帖子分享的数据库设计
这是我的原创设计,任何有关改进的建议,将不胜感激。
USER
Id
Name
...
POST
Id
Message
IsCloseFriendCanView
IsFamilyCanView
IsAcquaintanceCanView
IsDisabledComment
IsPostLock
CreatedByUserId
Created_Time
LastComment_Time
...
POST_COMMENT
Id
PostId
Message
CreatedByUserId
Created_Time
FRIEND
Id
UserId
FriendUserId
IsCloseFriend
IsFamily
IsAcquaintance
IsBlocked
....
FRIEND_LIST (custom friends list only)
Id
UserId (owner)
FriendId
FriendListTypeId
FRIEND_LIST_TYPE
Id
UserId
Name
...
POST_FRIEND (CAN VIEW)
Id
PostId
FriendId
....
POST_FRIEND_LIST (CAN VIEW - custom)
Id
PostId
FriendListTypeId
....
编辑:更新
很酷,我认为你的方式比我的更好:)所以我们不需要post_view呢?您可以与朋友分享并排除朋友约翰,爱丽丝等的条件是什么? – 001 2011-12-29 01:42:20
与朋友的分享应通过在FRIEND表中输入来处理。 Facebook为亲密朋友添加了一个功能,以便模仿此功能,您可以在好友表中为好友Y或N以及POST表添加一个标志,并有三个可见选项。我已经修改了原始答案中的SQL,以反映这个问题 – 2011-12-29 05:09:37
感谢Trevor,好吧,让我明白这一点,你将如何满足所有朋友对john,bob和alice期望可见的条件或者Specific对于朋友X,Y ,Z除Q,R,S外。或者除了groupZ,朋友A,B,C以外的所有朋友。 – 001 2011-12-29 06:26:36