设置一个子表,该子表的行数始终与父表相同?

时间:2019-01-08 01:50:59

标签: html mysql

我想知道是否有任何方法可以建立子表和父表之间的关系,其中子表始终具有与父表相同的行数。

示例:“父”表充当厨房中使用的食材的“主列表”或“词典”,该表中将有多个列,用于存储有关食材的信息,例如as-唯一的ID,成分名称,供应商/品牌,计量单位等。

子表代表存储配料的不同位置,(不同分支)-子表可能只有2列,分别是配料的唯一ID和数量。子表需要包含与父表相同的行数。如果在父表中创建了新条目,则子表也应具有数量= 0的新条目。

替代解决方案:如果无法实现,那么我目前要想实现的目标就是如何处理表单(如果在Parent表中有新条目)使其具有将新条目插入现有子表的代码,尽管这意味着每次都有新位置(新子表) 我还可以创建一种形式来检查父表和特定子表是否具有相同的行数。

感谢您的时间和投入。

1 个答案:

答案 0 :(得分:2)

您计划为将存储配料数量的每个位置创建一个子表。这将导致多个表与配料表具有1-1关系的情况。此规范化不适用于您的用例。

请考虑以下替代设计:

  • ingredients存储配料主数据
  • locations列出了不同的位置
  • ingredients_locations存储每个位置的每种产品的数量:它具有一个外键,该外键引用成分ID,而另一个外键指向位置ID