mySQL:一个条目多个字符串与多个条目

时间:2016-10-23 08:22:29

标签: mysql database data-structures

我正在处理一个复杂的数据库。我有一张桌子,我想每天从用户的dozents插入数据。

实施例: 菜单有200个配方(每列配方)和200多个用户。每个用户每天使用1至3次配方。除此之外,我想跟踪成分和成分的数量。更多的数据,如烹饪难度的评估,品尝的味道等等。

首先想法是每次使用一个条目: [用户ID,时间戳,食谱#1,食谱#2,...,食谱#200] //每个用户每天最多3个条目

配方的详细信息将在数组中。我想知道我是否可以让这更容易。我希望每周一次同步用户的应用和数据库。那么在本周制作一个条目并将食谱用法与该数组中的时间戳区分开来会更容易吗?

第二个想法: [用户ID,食谱#1,...,食谱#200] => '1','"details","timestamp"','"details","timestamp"','"details","timestamp"' //每个用户每周一次输入

如果我想要显示有关食谱的统计数据的图表,Idea1会很简单,但根据用户和那些数据库的条目增长几乎呈指数级。与idea2一起减少每周一次条目并与这些数组中的时间戳区别开来是不是更好?

我也不喜欢维持这样的结构的想法。添加更多食谱不会非常动态。基本上用户越来越多,食谱越来越多,细节越来越动感,时间就越来越多,邮票也越来越多了。

在一天结束时,我想显示统计数据,行为取决于用户,按时,能够按可能的每个类别排序 - 这让我头疼:D

1 个答案:

答案 0 :(得分:0)

如果您需要对其进行查询以进行比较和计算,请始终使用多个条目。

请问您能分享整个数据库结构吗?我会选择更多相关的表格。最好不要将数组添加到数据库中,将数据库看作更像是已经以更好的方式收集数据的数组。

我会选择cooking_id,user_id,recipe_id,难度,品味,时间戳等内容,并每次都创建一个新帖子。然后在食谱表中你有类似的东西:recipe_id,名称,细节(可能是成分)。取决于你想要测量的东西。

如果您需要测量成分,您可以将成分作为单独的表格,并为配方创建相关表格。喜欢的成分:ingredients_id,名称。对于相关表:ingredients_id,recipe_id,克。 (在这里你可以将ingredients_id和recipe_id一起作为主键。

自从我上次在数据库结构中工作或深入研究以来已经有一段时间了,希望我至少可以给你一些建议:)