关系数据库中的条件规则建模

时间:2014-05-26 22:01:35

标签: database-design relational-database relationship

而不是if / then条件的冗长列表。如何在关系数据库中表示这些条件或规则

例如:每次我做一个pb& j sandwhich,我经常使用x片面包,y量的花生酱,z果冻量。我想简单地记录我做了1 pb& j sandwhich(虽然仍然能够解释成分!)。当我更改配方时,我希望能够更新比率,属性,属性或字段,? - 而不是修改条件语句;如果我说我有100万种不同的三明治食谱。

对我来说,显而易见的答案是为每个“三明治”创建一个表格,并将每种成分及其比例列为记录?这似乎是原始的,我希望有一个“更酷”的方式来做到这一点?

请分享您的想法! THX。

1 个答案:

答案 0 :(得分:1)

在我们尝试创建任何relational tables之前,让我们回顾一下这些关系。

  • 食谱中含有一种或多种成分。
  • 一种成分可以用于一种或多种食谱。

所以,让我们先创建实体表。

Ingredient
----------
Ingredient ID
Ingredient name

Recipe
------
Recipe ID
Recipe name
Recipe description
Recipe instructions
Recipe number serves

好的,现在我们创建一个将食谱和成分联系在一起的关系表

Recipe Ingredient
-----------------
Recipe ID
Ingredient ID
Ingredient quantity
Ingredient unit of measure

配方成分的主要(聚类)键是(配方ID,成分ID)。您还需要一个唯一索引(成分ID,配方ID)。