关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
两年前关门了。
改进这个问题
我正在开发一个简单的应用程序,用户可以跟踪他们的体重历史。
我有以下表格:
为了演示的目的,我将使用用户id 5。
当我想保存用户权重历史记录时,我会执行以下操作:
INSERT INTO userWeight (userID, weight) VALUES (5, 76)
这会将权重保存到数据库中。
当我要检索特定用户的权重历史记录时,我会执行以下操作:
SELECT weight, timee FROM userWeight WHERE userID = 5
我的问题是,这似乎是一种有趣的做事方式。有没有更好的数据库设计我可以使用?
通过这种设计,所有用户的权重都存储在一个表中,这是正确的方法吗?
谢谢您。
1条答案
按热度按时间vxf3dgd41#
您的设计是正确的,因为它实现了用户和在不同时间获取的许多权重之间的一对多(1:m)关系。
简单的搜索就证实了这种安排。例如,这篇一对多关系的文章,或者维基百科的定义。
使用此模型可以从特定用户获得一系列权重,并按时间排序。将权重保存在用户表上的实现是不正确的,因为每次添加新权重时,用户表中的列数都必须增加。