每次提交时,将多个部分的数据存储到其中

时间:2017-10-03 10:48:53

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

我会努力尽可能清楚......

我需要存储每个事件包含多个项目的数据记录。让我们在一个事件中说,我有一个客户偷了9件食物...... 1个香蕉,3个蓝色撞柱,2个火星棒和4个橙片。

我有一个包含事件核心详细信息(日期,时间,事件详细信息等)的表,并根据相关人员的UID进行识别,并将个人详细信息存储在另一个表中,并附带UID。要求是能够运行报告以查看每个对象中有多少被盗。

如何将这些记录存储在与数据性能相关的最佳方式中,因为这显然有可能从每个多个对象事件中获取巨大的表格线。

我是否参考事件父记录ID将它们保存为多个记录,还是有更有效的方法来执行此操作?

1 个答案:

答案 0 :(得分:2)

作为一个起点,我会做这样的事情: enter image description here

Incident_has_FoodItems允许您将任意数量的FoodItems链接到Incident表。然后很容易计算每个FoodItem在Incident_has_FoodItems表中出现的次数。

定义数据库数据结构时,将每个项目分隔为表格并将它们链接在一起。它们允许更简单的查询,更好的性能,更容易创建索引,......

如果您想进一步挖掘,可以阅读普通表格。