【问题标题】:How could I modify this database design to store user history?我如何修改这个数据库设计来存储用户历史?
【发布时间】:2018-01-21 20:08:37
【问题描述】:

我有两张桌子,如下图所示。这些用于在用户在各个位置签到时跟踪用户的当前位置。我想知道如何修改它,以便我也可以存储用户历史记录。我想存储用户过去签到的所有位置以及他们的签到和退房时间。

这可能是向现有表或一些附加表添加新列。

谢谢!

【问题讨论】:

  • 什么样的用户历史?
  • @Raptor 拍摄,这会很有帮助,不是吗?我试图在我的编辑中澄清。基本上只是想知道用户签到的所有位置。

标签: sql database database-design architecture


【解决方案1】:

您可以创建另一个表来存储用户记录:

表:rel_user_venue

user_id     venue_id    check_in_time        expiration_time
=============================================================
1           1           2017-08-14 10:01     2017-08-14 11:00
1           2           2017-08-14 11:01     2017-08-14 12:00

并改变用户表如下:

表格:用户

id     full_name
================
1      Peter
2      Mary

请注意,我在用户表中将 name 更改为 full_name。始终避免使用简单的单词作为列名。

要获取用户历史记录,您可以使用:

SELECT * FROM rel_user_venue WHERE user_id = 1

【讨论】:

    【解决方案2】:

    我不知道你想要存储什么样的历史数据,但一般来说,你可以创建一个 Location 表和 UserLocation 表。在 UserLocation 表中,您可以存储签入时间、签出时间、用户 ID、位置 ID 等...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 2011-11-19
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      相关资源
      最近更新 更多