2010-11-15 73 views
0

我創建的用戶配置文件,並具有與該架構的隱私級別幾個問題:社交網絡 - 隱私級別 - 數據庫架構

有關配置文件的詳細信息 - >還有像在Facebook上多個字段 - 生日,性別,位置,興趣,關係,用戶的全名等。從數據庫的角度來看 - 這是如何完成的?我使用的是MySQL所以第一件事情是可以的隱私級別在MySQL正常工作,或做我需要一個非關係數據庫?然後,分配隱私現場級是這樣的:

對象表 - >檔案場1,配置文件字段2,......
隱私查找表 - >朋友= 1,朋友= 2,每個人都= 3,阻止列表= 4,朋友...
用戶對象表 - >資料字段1具有隱私查找1(這意味着場2被設置爲唯一的朋友)?

上述方法適用於固定列表隱私級別,但是如果我們有非列表隱私級別,例如:我想阻止人員X,Y & Z並允許某個名爲A的用戶只能看到它,沒有固定的爲此,如何在模式級別表示這個級別?

這是一個提起水平,但隱私即使在像個人照片,個人視頻等,所以在DB任何一般建議使用/基礎架構來指導我如何設計這個出更高的對象級別?

謝謝。

回答

0

你可以做的是實現實體關係建模,可以讓你的隱私無限名單。

您可以像表thise:

Privacy 
id varchar(36) 
label text() 

IsPrivacyActivated 
privacyid  varchar(36) 
isActivated boolean 

UserPrivacy 
userid varchar(36) 
privacyid varchar(36) 

這樣就可以實現所有你真的以上陳述容易的特點。

希望我能幫忙,

+0

隱私表是我假設的隱私查詢表?但是這不會深入到現場級別。如何將我代表我的生日是可見說「只有朋友」,我的性別爲「每個人,但只有X先生和Y先生封殺」? – Dia 2010-11-15 15:57:10

+0

然後在桌子上isPrivacyActivated你加兩個字段friendid(VARCHAR(36))和isViewable(布爾)誰代表誰可以看到它。所以你可以刪除isActivated字段。 – Spredzy 2010-11-15 16:20:01