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

v9tzhpje  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(282)

我想知道是否有任何方法可以设置子表和父表之间的关系,其中子表的行数始终与父表的行数相同。
例如:父表充当厨房中使用的配料的“主列表”或“字典”,在表中,它将有多个列存储有关配料的信息,例如-唯一id、配料名称、供应商/品牌、计量单位等。
子表表示存储配料的不同位置(不同的分支)-子表可能只有两列作为配料的唯一id和数量。子表需要包含与父表相同的行数。如果在父表中创建了一个新条目,那么子表也应该有数量为0的新条目。
另一种解决方案:如果这不可能,我现在想的是如何处理表单,如果在父表中创建了一个新条目,它还将有代码将新条目插入现有的子表中,尽管这意味着每次有一个新位置(新的子表)时,我也可以创建一种检查父表和特定子表是否具有相同行数的窗体。
感谢您的时间和投入。

zkure5ic

zkure5ic1#

您计划为每个存储配料数量的位置创建一个子表。这将产生一种情况,即多个表与配料表有1-1的关系。这种规范化不适合您的用例。
考虑以下替代设计:
ingredients 存储配料主数据
locations 列出不同的位置
ingredients_locations 在每个位置存储每个产品的数量:它有一个外键引用配料id,另一个外键指向位置id

相关问题