隐私数据库架构设置

问题描述:

我有以下字段的用户表:隐私数据库架构设置

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

我希望用户可以选择任意一个显示或隐藏内容,脸谱等,其中用户控制哪些显示。 什么是最好的设计呢?

例子:

1.增加一个附加列,每个选项(布尔),这可能是不好的,因为如果我想补充未来的项目,该表将得到长期

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

2。加上其控制每个用户

userprivacy 
----------- 
userprivacyId 
userId (fk) 
emailprivacy 
ageprivacy 
homephoneprivacy 
etc... 

隐私隐私表是有这样做的更好的方法,如果是的话,可以请你给我一个粗略的方案或者对如何做任何提示:)比k你

+0

你想要的是一个好的ACL系统。如果你想在数据库中做到这一点,我会建议一个支持行和列安全性的数据库,如Oracle(或9月份到期的PG 9.5)。否则,请在您的Web框架中执行 –

+0

如果隐私只是真/假,那么请考虑使用“SET”数据类型的列。 SET中的每一位都会控制一个属性的可见性。 –

首先,你绝对不想在用户表中添加这些标志。 你需要一个不同的表格。

第二个例子实际上非常接近最佳解决方案。根据项目的整体复杂程度,您可能实际上希望这些设置可以进一步分解,具体取决于它们的类型。

但是,只要您只需要标志来确定每种类型的信息是否为私人或独立,我相信您的第二个示例是合适的。

+0

感谢您的快速响应,只需要知道我是否做得对:)谢谢 – Carlos

+0

刚刚碰到这个。在网站上的每件内容上设置隐私设置是不是一个好主意?例如。在类似Facebook的社交网站上 – Erik