Database design 相册照片隐私的父子关系

Database design 相册照片隐私的父子关系,database-design,photo,privacy,Database Design,Photo,Privacy,如果子对象有自己的设置,父对象有自己的设置,但父对象可以覆盖子对象,那么如何最好地表示父子关系 我的用例是相册的隐私级别。每个相册和每张照片都有一个隐私级别。因此,如果相册=自定义,则每张照片可以具有不同的隐私级别。当然,如果相册设置为“仅限好友”,则照片不能公开,因此任何公开的照片都会被覆盖为私人照片。或者,如果相册设置为“仅限网络”,则朋友可以看到它,但公众无法看到 我不确定这是通过应用程序逻辑还是通过模式处理的。如果通过应用程序逻辑,那么我是否需要这些表中的“ANY”colunm,或者它是

如果子对象有自己的设置,父对象有自己的设置,但父对象可以覆盖子对象,那么如何最好地表示父子关系

我的用例是相册的隐私级别。每个相册和每张照片都有一个隐私级别。因此,如果相册=自定义,则每张照片可以具有不同的隐私级别。当然,如果相册设置为“仅限好友”,则照片不能公开,因此任何公开的照片都会被覆盖为私人照片。或者,如果相册设置为“仅限网络”,则朋友可以看到它,但公众无法看到


我不确定这是通过应用程序逻辑还是通过模式处理的。如果通过应用程序逻辑,那么我是否需要这些表中的“ANY”colunm,或者它是100%的应用程序端?

我认为这必须在应用程序中。这不是很多工作,基本上你检查相册是否有隐私级别,如果有,应用到它的孩子,否则使用孩子的隐私级别。这不是您在db中处理的那种事情。

您可以拥有权限层次结构,0-公共,1-网络,2-朋友,3-自我。相册和照片在数据库中都有权限字段,但照片的权限必须始终为>=相册的权限。默认情况下,它们将等于相册权限

这样,你就可以拥有一个只有网络的相册,里面只有一些朋友和一些只有自己的照片


因此,每个对象的权限信息将存储在数据库中,但应用程序将控制可以为照片设置哪些权限,当然,谁可以根据对象的权限和访问者的状态/位置查看什么相册/照片。

但是我仍然需要在表中存储当前的隐私级别,我假设像album=friends only,并为照片存储用户隐私级别?是的,相册和照片具有隐私级别-如果设置了相册隐私级别,则使用该级别,否则使用照片隐私级别。好的,让我将其与我的隐私级别联系起来,看看它是如何工作的。对于像facebook这样的隐私结构化网站来说,这是可行的。我有非结构化的隐私,就像你可以允许“朋友的朋友”但阻止你的朋友一样。或者只允许朋友的网络和朋友,但阻止你的朋友。因此,存在结构化和非结构化隐私的混合+还有阻止列表。