我目前有一个包含两个名为Articles和Tags的表的数据库.为了使文章在多个类别中,我有多对多的关系.在性能方面有这样的设计是错误的吗?或者我应该删除这两个表之间的关系,并添加第三个表作为桥(articlesTags)?
我是 PostgreSql 的新手,正在研究一个用于学习目的的示例数据库。我有一个面包店数据库和一个食谱表和一个配料表。我试图了解连接两个表的模式,以便配方表有一个引用成分表的成分列表,但我不确定我是否需要第三个表,或者我是否可以只使用这两个表.
CREATE TABLE ingredients
(
ing_id SERIAL PRIMARY KEY,
name varchar(255) NOT NULL,
quantity integer NOT NULL
);
CREATE TABLE recipes
(
rec_id SERIAL PRIMARY KEY,
name varchar(120) NOT NULL,
list_of_ingredients text NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)
编辑:所以假设我在成分表中有这个:
(1, flour, 40)
(2, eggs, 12)
(3, sugar, 23)
Run Code Online (Sandbox Code Playgroud)
这在食谱表中:
(1, cake, "3 flour, 4 eggs, 2 sugar")
Run Code Online (Sandbox Code Playgroud)
我对如何链接这两个表有点困惑。
list_of_ingredients 需要引用成分表作为外键。我知道 NoSQL DB 的全部意义在于允许列表,所以我不确定我是否完全错误地处理了这个问题。
我还将编写一个 Make_Recipe 函数,该函数将接收一个配方并确保有足够的成分,如果通过上述条件,则继续并减少成分数量。
我已经通读了这些帖子,但它们不太符合要求: 用于存储食物食谱的 数据库设计食谱/成分/测量/数量的数据库架构
谢谢你的时间!任何帮助深表感谢。