Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户历史记录和用户保存的数据库模式设计_Php_Mysql_Database_Database Design_Database Schema - Fatal编程技术网

Php 用户历史记录和用户保存的数据库模式设计

Php 用户历史记录和用户保存的数据库模式设计,php,mysql,database,database-design,database-schema,Php,Mysql,Database,Database Design,Database Schema,我想将访问过的用户和喜爱的用户(当用户单击壁炉图标时)存储到数据库中。因此,我可以创建一个表,用户\u活动如下: 用户和用户活动: id_用户(pk) id_用户2(主键) 活动(varchar或enum,它将包含“历史记录”、“收藏夹”)(主键) 已创建(日期时间) 对于history.php或favorites.php页面,我将选择all,其中id_users=X和activity=“history/favorite”,加入用户表。对于insert和update,我有一个复合主键user

我想将访问过的用户和喜爱的用户(当用户单击壁炉图标时)存储到数据库中。因此,我可以创建一个表,用户\u活动如下:

用户和用户活动:

  • id_用户(pk)
  • id_用户2(主键)
  • 活动(varchar或enum,它将包含“历史记录”、“收藏夹”)(主键)
  • 已创建(日期时间)
对于history.php或favorites.php页面,我将选择all,其中id_users=X和activity=“history/favorite”,加入用户表。对于insert和update,我有一个复合主键users、users2和activity。如果我将找到一个用户X、用户2y和活动Z,则更新行..else insert

否则,我可以创建两个单独的表,users\u history和users\u favorite,如下所示:

用户历史

  • id_用户(pk)
  • id_用户2(主键)
  • 创造
用户最喜欢的

  • id_用户(pk)
  • id_用户2(主键)
  • 创造

这是一个简单的设计,SQL比第一个表单简单得多。哪个更好?我使用php和mysql。

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

我要第二张