隐私设置的数据库架构
Database schema for privacy settings
我有一个用户 table 具有以下字段:
USER
--------
userID
email
age
gender
aboutme
homephone
cellphone
address
etc..
我希望用户可以选择显示或隐藏内容,例如 facebook,用户可以控制要显示的内容。
最好的设计是什么?
示例:
1.add 每个选项(布尔值)的附加列,这可能不好,因为如果我想添加未来的项目,table 会变长
USER
-----
userID
email
isemailPrivate
age
isagePrivate
gender
aboutme
homephone
ishomephoneprivate
cellphone
address
etc..
2.add 隐私 table 控制每个用户的隐私
userprivacy
-----------
userprivacyId
userId (fk)
emailprivacy
ageprivacy
homephoneprivacy
etc...
有没有更好的方法,如果有,请给我一个粗略的架构或任何关于如何做的提示:)谢谢
首先,您绝对不想在 user table 中添加这些标志。
为此,您需要一个不同的 table。
您的第二个示例实际上非常接近最佳解决方案。根据项目的整体复杂性,您实际上可能希望根据它们的类型进一步分解这些设置。
但是,只要您只需要标志来确定每种类型的信息是否独立,我相信您的第二个示例是合适的。
我有一个用户 table 具有以下字段:
USER
--------
userID
email
age
gender
aboutme
homephone
cellphone
address
etc..
我希望用户可以选择显示或隐藏内容,例如 facebook,用户可以控制要显示的内容。 最好的设计是什么?
示例:
1.add 每个选项(布尔值)的附加列,这可能不好,因为如果我想添加未来的项目,table 会变长
USER
-----
userID
email
isemailPrivate
age
isagePrivate
gender
aboutme
homephone
ishomephoneprivate
cellphone
address
etc..
2.add 隐私 table 控制每个用户的隐私
userprivacy
-----------
userprivacyId
userId (fk)
emailprivacy
ageprivacy
homephoneprivacy
etc...
有没有更好的方法,如果有,请给我一个粗略的架构或任何关于如何做的提示:)谢谢
首先,您绝对不想在 user table 中添加这些标志。 为此,您需要一个不同的 table。
您的第二个示例实际上非常接近最佳解决方案。根据项目的整体复杂性,您实际上可能希望根据它们的类型进一步分解这些设置。
但是,只要您只需要标志来确定每种类型的信息是否独立,我相信您的第二个示例是合适的。