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

Database design 关系数据库中的条件规则建模,database-design,relational-database,relationship,Database Design,Relational Database,Relationship,而不是冗长的if/then条件列表。。如何在关系数据库中表示这些条件或规则 例如:每次我做一个pb&j沙盘,我总是用x片面包,y量花生酱,和z量果冻。我想简单地记录一下,我制作了1 pb&j SandWhat(同时仍然能够说明成分!)。当我更改配方时,我希望能够更新比率、-属性、属性或字段而不是修改条件语句;以防我有一百万种不同的三明治食谱 对我来说,最明显的答案是为每个“三明治”创建一个表格,并列出每种成分及其比例作为记录?这似乎很原始,我希望有一个“更酷”的方式来做到这一点 请分享你的想法!

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

例如:每次我做一个pb&j沙盘,我总是用
x
片面包,
y
量花生酱,和
z
量果冻。我想简单地记录一下,我制作了1 pb&j SandWhat(同时仍然能够说明成分!)。当我更改配方时,我希望能够更新比率、-属性、属性或字段而不是修改条件语句;以防我有一百万种不同的三明治食谱

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


请分享你的想法!Thx.

在尝试创建任何关系之前,让我们先检查一下这些关系

  • 食谱包含一种或多种成分
  • 一种配料可以加入一个或多个食谱
因此,让我们先创建实体表

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)。

我已经有了m2m表,idk为什么我不想在那里添加数量。我想,使用m2m内置的django ORM会让我变得懒惰。删除了orm创建的m2m表格,并手动添加了一个带有数量的表格!Thx:P