社交网络 - 隐私级别 - 数据库架构

时间:2010-11-15 15:38:06

标签: mysql networking schema privacy social

我正在创建用户个人资料,并且几乎没有与隐私级别架构相关的问题:

有关个人资料详情 - > Facebook上有多个字段 - 生日,性别,位置,兴趣,关系,用户的全名等。从数据库的角度来看 - 这是如何完成的?我正在使用MySQL,所以首先是隐私级别可以在MySQL中运行良好,还是我需要非关系数据库?然后,将隐私分配给字段级别是这样的:

对象表 - >配置文件字段1,配置文件字段2,.....
隐私查询表 - >朋友= 1,朋友的朋友= 2,每个人= 3,被阻止的名单= 4,...
用户对象表 - >配置文件字段1具有隐私查找1(这意味着字段2仅设置为朋友)?

以上适用于固定列表隐私级别,但如果我们有非列表隐私级别,例如:我想阻止人X,Y& Z并允许一些名为A的用户只看到它,没有固定的级别,那么如何在架构级别表示这个?

这是一个文件级别,但隐私甚至在更高的对象级别,如个人照片,个人视频等。所以关于数据库使用/基本架构的任何一般性建议指导我如何设计这个?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以做的是实施一个实体关系建模,它将为您提供无限的隐私列表。

你可以拥有像这样的表:

Privacy
id    varchar(36)
label text()

IsPrivacyActivated
privacyid      varchar(36)
isActivated    boolean

UserPrivacy
userid   varchar(36)
privacyid varchar(36)

通过这种方式,您可以轻松实现上述所有功能。

希望我能提供帮助,