构建大型PHP + MySQL项目

时间:2015-09-29 19:47:54

标签: mysql database list structure

我已经使用PHP和MySQL编程了大约一年了,我将在第一个大型项目中使用。我目前正在尝试如何构建整个站点数据库,我遇到了几个与结构有关的问题。为简洁起见,我将其描述为游戏玩家的社交网络。

因此每个玩家都会有一个最喜欢的游戏列表,这些游戏将具有独特的属性。在此站点中,users表中的每个用户都将拥有多个游戏。我试图找出解决这个问题的最佳方法:

  • 最好将多个游戏存储在可以下载和解析的字符串中,然后是每个游戏的表格吗?
  • 我应该有一张用户表,一张最喜欢的游戏表和一张带有属性的游戏表。如果我这样做,我应该有一个用户作为每一行,然后一个字符串可以解析成一个列表,或者我应该将每一行作为1个用户和1个游戏然后运行搜索并在需要时返回行。

你可能会告诉我,我只是对如何处理数据库结构感到困惑。任何和所有建议都将不胜感激,非常感谢您阅读本文。

1 个答案:

答案 0 :(得分:3)

第二点是第一点。你当然知道规范化意味着什么。如果没有,维基告诉我们:

  

数据库规范化(或规范化)是组织关系数据库的列(属性)和表(关系)以最小化数据冗余的过程。   wiki

所以,是的,你应该为每个用户和最喜欢的游戏做一个自己的桌子。并且不要使用字符串。一个更好的解决方案是用户表,游戏表和表,它们通过用户ID和游戏ID匹配在一起。这是简短的答案。应该这样做的原因填补了一堆讲座。但是为了缩短它,请求更快,你将无视任何特定查询模式的偏见。

对于第一点,您的意思是页面列表吗?或者在表格本身?在这两种情况下,我都会说使用数据库。如果查询是好的,那就更好,最后更快。

我希望这会对你有所帮助。