消息通知应用程序数据库结构设计

时间:2016-02-15 06:51:01

标签: android database database-design chat

我正在开发android通知应用程序。我怀疑我的数据库结构。

当一个用户向其他用户发送通知时,我在我的数据库表中插入单行(通知),当一个用户向多个用户发送相同的通知文本时,我在表中插入多行。

为不同的用户创建多行是正确的方法吗?enter image description here

1 个答案:

答案 0 :(得分:2)

  

为不同用户创建多行是否正确?

你对这种方法有疑问是对的。当没有关系数据库时,有时没有别的办法。 如果您将数据库模式与多行一起使用,那么最终会比需要更频繁地存储(并且还处理)某些值。发明关系数据库是为了避免冗余,因为冗余在存储,性能和维护时间方面都很昂贵。

在您的表Notification中,唯一不会存储多次的列是ToUserId

所以我认为你的表格Notification减去ToUserId列会更好。这条信息可以进入一个包含两个数据列的新表:NotificationId(指向通知信息的ForeignKey)和ToUserId(指向用户数据)。

相关问题