用户体重历史记录的数据库设计

时间:2018-12-21 21:27:12

标签: mysql sql database

我正在开发一个简单的应用程序,用户可以跟踪自己的体重记录。

我有下表:

user Table

userWeight Table

在此演示中,我将使用用户ID 5。

当我要保存用户体重记录时,请执行以下操作:

INSERT INTO userWeight (userID, weight) VALUES (5, 76)

这会将重量保存到数据库中。

当我要检索特定用户的体重记录时,请执行以下操作:

SELECT weight, timee FROM userWeight WHERE userID = 5

我的问题是,这似乎是一种有趣的处理方式。我可以使用更好的数据库设计吗?

通过这种设计,所有用户的权重都存储在一个表中,这是正确的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您的设计是正确的,因为它实现了用户与在不同时间获取的许多权重之间的一对多(1:M)关系。

简单的搜索即可确认这种安排。例如,这篇One-to-many relationship文章或the Wikipedia definition

使用此模型,您可以从特定用户那里获取一系列权重,并按时间对其进行排序。将权重保存在用户表上的实现是不正确的,因为每次添加新的权重时,用户表中的列数都必须增加。