gpt4 book ai didi

用于跟踪对象的数据库表

转载 作者:搜寻专家 更新时间:2023-10-30 23:47:13 26 4
gpt4 key购买 nike

我有一个名为 FoodMaker 的表和另一个名为 Settings 的表。每个 FoodMaker 都有多个 Settings。我还需要第三张表来记录所做的事情、时间以及使用什么 Settings。它可能具有以下字段:idfood_madedate_timesettings_used

这非常简单,因为我可以将 FoodMakerSettings 的 ID 放在第 3 个表中以引用它们。但问题是,Settings 稍后可能会更改,但我想要制作食物的 Settings 而不是更新的。因此,每次我插入第 3 个表时,我都需要拍摄 Settings 的快照。

一种简单的方法是将所有 Settings 字段添加到每个 INSERT 的第 3 个表中。但这不是多余和丑陋的吗?有更好的解决方案吗?

最佳答案

我认为问题出在您对实体“设置”的定义中。

如果 settings 是一个食谱,例如“我使用 Bob 的食谱制作了 ID XX 的汉堡包”。如果 Bob 的食谱是表中的一条记录,或者是汉堡包的“设置”,那么您不应该只更新它而不对其进行某种版本控制。

我认为对这个问题建模的正确方法是将“已制作”的内容与 Bob 的食谱或“设置”版本联系起来。

将所有可能更改的内容保存在与 Bob 的原始食谱相关的表格中。有不止一种方法可以做到这一点。这是一个例子:

汉堡包 A:id 1,设置 5,日期 11/18/2014;

设置 5:食谱 Bob,delta-咖啡 +5ml,delta-糖 -1g; #(公制单位ml和g)

食谱 Bob:奶油:10 毫升,咖​​啡 10 毫升,威士忌 100 毫升;糖3克; (公制单位ml和g)

关于用于跟踪对象的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com