用户历史记录和用户保存数据库架构设计

时间:2015-12-13 17:21:11

标签: php mysql database database-design database-schema

我想将受访用户和喜爱的用户存储到数据库中(当用户点击壁炉图标时)。所以,我可以创建1个表,users_activities如下:

Users_activities:

  • id_users(pk)
  • id_users2(pk)
  • 活动(varchar或enum,它包含"历史","最爱")(pk)
  • created(datetime)

对于history.php或favourites.php页面,我将选择all,其中id_users = X和activity =" history / favorite",加入用户表。对于插入和更新,我有一个复合主键,用户,用户2和活动。如果我找到用户X,users2 Y和活动Z,请更新row..else插入。

否则,我可以创建2个分隔的表,users_history和users_favourite,如下所示:

Users_history

  • id_users(pk)
  • id_users2(pk)
  • 创建

users_favourite

  • id_users(pk)
  • id_users2(pk)
  • 创建

它是一个简单的设计,SQL比第一种形式简单。哪个更好?我使用php和mysql。

1 个答案:

答案 0 :(得分:1)

“历史”听起来像是事物的日志。 “收藏夹”听起来像是当前的一组值。他们有两套不同的用法和属性;不要把它们放在同一张桌子里。