Database design 通知/提要/请求的基本模式设计?

Database design 通知/提要/请求的基本模式设计?,database-design,social-networking,Database Design,Social Networking,我正在设计一个社交网络,想知道我是否走上了正确的轨道。我在网站上有通知、请求和实时订阅源。类似于我们现在在大多数网站上看到的。为了设计这些组件,我假设它们不是独立的组件,而是从同一个活动组件流出的 该系统有一组大约200个可能涉及30个对象的活动。40个活动可能有通知,70个可能有提要,10个可能有请求。因此,我假设这些将是活动查找表的一部分,也就是说,活动是否有作为布尔列的提要、通知和请求。如果是,则向用户显示所有3个(提要、通知、请求)的默认文本,如“照片上评论的名称”。对象查找表的另一列将

我正在设计一个社交网络,想知道我是否走上了正确的轨道。我在网站上有通知、请求和实时订阅源。类似于我们现在在大多数网站上看到的。为了设计这些组件,我假设它们不是独立的组件,而是从同一个活动组件流出的

该系统有一组大约200个可能涉及30个对象的活动。40个活动可能有通知,70个可能有提要,10个可能有请求。因此,我假设这些将是活动查找表的一部分,也就是说,活动是否有作为布尔列的提要、通知和请求。如果是,则向用户显示所有3个(提要、通知、请求)的默认文本,如“照片上评论的名称”。对象查找表的另一列将为FK,以将对象与活动匹配

基本上我不确定这些是否应该是活动查找表的一部分,或者有其他的设计要考虑吗?
一个可能的用例类似于通知-系统可能有40个可用,但用户只能选择其中的10个。因此,将有一个单独的用户设置表来保存用户定义的首选项。

您所做的对我来说听起来很正常。在这种情况下,活动关系似乎可用。大问题围绕着规模,但这些问题可以通过db解决方案解决(例如Postgres XC on Postgres)


我没有看到一个明显的改善关系设计的方法。

一个相当模糊的问题,有那么多关于“社交网络”/“数据库”/“设计”的相关问题……基于您的设计和规则的简单性,跳过DBMS。这太过分了(我非常喜欢经典的DBMS)。现在学习卡桑德拉。可以快速添加和删除通知,而且它的伸缩性非常好。否则,我认为这里没有足够的信息来真正澄清你想做什么,但我只是在冒险猜测。@Horus:我不同意。你不应该因为事情太简单就把事情弄得更复杂。一个简单的DB层可以让他专注于更重要的问题,比如创新功能。