我有一个用户表,其中包含以下字段:

USER
--------
userID
email
age
gender
aboutme
homephone
cellphone
address
etc..

我希望用户可以选择显示或隐藏内容,就像facebook一样,用户可以控制要显示的内容。
最好的设计是什么?
示例:
1.为每个选项添加一个额外的列(布尔值),这可能不好,因为如果我想添加将来的项,表将变长
USER
-----
userID
email
isemailPrivate
age
isagePrivate
gender
aboutme
homephone
ishomephoneprivate
cellphone
address
etc..

2.添加控制每个用户隐私的隐私表
userprivacy
-----------
userprivacyId
userId (fk)
emailprivacy
ageprivacy
homephoneprivacy
etc...

有没有更好的方法,如果有的话,你能给我一个大概的模式或任何关于如何做的提示:)谢谢

最佳答案

首先,您肯定不想在用户表中添加这些标志。
你需要换一张桌子。
你的第二个例子实际上非常接近最佳解决方案。根据项目的整体复杂性,您可能实际上希望这些设置进一步细分,这取决于它们的类型。
但是,只要您只需要在每种类型的信息中确定标志是否是私有的,我相信您的第二个例子是合适的。

关于mysql - 隐私设置的数据库架构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29488039/

10-11 01:55