我正在开发一个简单的应用程序,用户可以跟踪自己的体重记录。
我有下表:
在此演示中,我将使用用户ID 5。
当我要保存用户体重记录时,请执行以下操作:
INSERT INTO userWeight (userID, weight) VALUES (5, 76)
这会将重量保存到数据库中。
当我要检索特定用户的体重记录时,请执行以下操作:
SELECT weight, timee FROM userWeight WHERE userID = 5
我的问题是,这似乎是一种有趣的处理方式。我可以使用更好的数据库设计吗?
通过这种设计,所有用户的权重都存储在一个表中,这是正确的方法吗?
谢谢。
答案 0 :(得分:2)
您的设计是正确的,因为它实现了用户与在不同时间获取的许多权重之间的一对多(1:M)关系。
简单的搜索即可确认这种安排。例如,这篇One-to-many relationship文章或the Wikipedia definition。
使用此模型,您可以从特定用户那里获取一系列权重,并按时间对其进行排序。将权重保存在用户表上的实现是不正确的,因为每次添加新的权重时,用户表中的列数都必须增加。