关系数据库模式存储数据集的多个变体

Relational Database Schema to store multiple variants of a data set

我想为一个小项目的关系数据库创建一个数据库模式。 在该模式中,我想存储食谱,例如 Pasta Carbonara。 该模式类似于:

(ID,Name,Ingredient1,..,Ingredient10,sourceURL) 为了简单起见,我们假设每个食谱最多只需要 10 种不同的成分。

现在我想从不同的数据库中获取我的食谱。但由于每个人都有自己的食谱版本,因此食谱会略有不同。

在我的 Carbonara 示例中,它就像

来自 SourceUrl1 的意大利面、鸡蛋、培根、奶油、细香葱 来自 SourceUrl2 的意大利面、鸡蛋、培根、巴马干酪、细香葱 ...... 来自 SourceUrl3

我想将同一道菜的所有变体存储在我的架构中的一个数据集中。有没有关于如何以尽可能少的冗余存储数据的概念?

这是一种解决方案:

...

一些提示:

为了Database normalization,菜谱名称和食材不要放在同一个table。

有专门的数据库问题论坛: https://dba.stackexchange.com/