我正在开发android通知应用程序。我怀疑我的数据库结构。
当一个用户向其他用户发送通知时,我在我的数据库表中插入单行(通知),当一个用户向多个用户发送相同的通知文本时,我在表中插入多行。
答案 0 :(得分:2)
为不同用户创建多行是否正确?
你对这种方法有疑问是对的。当没有关系数据库时,有时没有别的办法。 如果您将数据库模式与多行一起使用,那么最终会比需要更频繁地存储(并且还处理)某些值。发明关系数据库是为了避免冗余,因为冗余在存储,性能和维护时间方面都很昂贵。
在您的表Notification
中,唯一不会存储多次的列是ToUserId
。
所以我认为你的表格Notification
减去ToUserId
列会更好。这条信息可以进入一个包含两个数据列的新表:NotificationId
(指向通知信息的ForeignKey)和ToUserId
(指向用户数据)。