我有一个包含以下字段的用户表:
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...
有没有更好的方法来做到这一点,如果是这样,你能给我一个粗略的架构或任何有关如何做的提示:)谢谢
答案 0 :(得分:1)
首先,您绝对不希望在用户表中添加这些标记。 你需要一个不同的表。
你的第二个例子实际上非常接近最佳解决方案。根据项目的整体复杂程度,您可能实际上希望这些设置进一步细分,具体取决于其类型。
但是,只要您只需要标记来确定每种类型的信息是私密的还是非独立的,我相信您的第二个例子是合适的。