首先,我对数据库设计相当陌生,所以我希望我的问题是有意义的。我正在尝试设计一个关系数据库,它将一个表中的行连接到另一个表中的行。容易吧?好吧,我有点难过,因为在某些情况下,一行需要引用单独表中的每一行。
以啤酒食谱为例。
有一系列成分表(其中一个是谷物表)和一个单一的啤酒样式表。谷物样式表旨在链接谷物表和样式表,以显示适合每种啤酒样式的谷物。
餐桌谷物
id name Price
----------------------------------
0 German grain 1.20
1 Regular grain 1.00
2 Wheat 0.90
3 American grain 1.00
表格样式
id name % Alcohol
--------------------------------------
0 German beer 6
1 Australian beer 4
2 American beer 3
3 Generic Beer 5
表粒样式
id style_id grain_id
-------------------------------------
0 0 0
1 0 1
2 0 2
3 1 1
这是我在这里看到的三种情况:
情景 1:某些谷物仅适用于某些啤酒风格。德国谷物只适用于德国啤酒。
场景 2:某些谷物适用于所有啤酒风格。普通谷物可用于德国啤酒、美国啤酒或任何其他风格。
场景 3:所有颗粒都适用于特定样式。德国谷物、普通谷物或任何其他谷物都可用于通用啤酒。
在Grains-Styles Table中创建大量行似乎效率低下。style_id AND/OR grain_id 列中是否有与通配符值等效的内容?
我该如何解决这个问题?这个概念叫什么?只是有点迷失在这里,当然在我头上。提前感谢您可能提供的任何帮助。