mysql用户权重历史数据库设计

ocebsuys  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(291)

关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。

两年前关门了。
改进这个问题
我正在开发一个简单的应用程序,用户可以跟踪他们的体重历史。
我有以下表格:


为了演示的目的,我将使用用户id 5。
当我想保存用户权重历史记录时,我会执行以下操作:

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

这会将权重保存到数据库中。
当我要检索特定用户的权重历史记录时,我会执行以下操作:

SELECT weight, timee FROM userWeight WHERE userID = 5

我的问题是,这似乎是一种有趣的做事方式。有没有更好的数据库设计我可以使用?
通过这种设计,所有用户的权重都存储在一个表中,这是正确的方法吗?
谢谢您。

vxf3dgd4

vxf3dgd41#

您的设计是正确的,因为它实现了用户和在不同时间获取的许多权重之间的一对多(1:m)关系。
简单的搜索就证实了这种安排。例如,这篇一对多关系的文章,或者维基百科的定义。
使用此模型可以从特定用户获得一系列权重,并按时间排序。将权重保存在用户表上的实现是不正确的,因为每次添加新权重时,用户表中的列数都必须增加。

相关问题