查找配方成分功能依赖性和BCNF分解

时间:2016-06-29 14:06:36

标签: database database-design database-normalization functional-dependencies bcnf

在给定关系模式的情况下找到所有正确的FD时遇到了一些问题。 特别是,考虑以下数据库,它存储有关用户提交的食谱和成分的信息:

Recipe (userID, code, title, description, username, email, vegan, vegetarian, difficulty)
    with (userID, code) PK
Ingredient (code, name, description, vegan, vegetarian) with (code) PK
RecipeIngredient (userID, recipeCode, ingredientCode, recipeTitle, ingredientName, quantity)
    with (userID, recipeCode, ingredientCode) PK

关键字useripe,RecipeIngredient中的recipeCode是引用Recipe的外键,而ingredientCode是引用Ingredient的外键。 每个用户都有一个电子邮件和用户名。如果食谱或配料是素食主义者,那么他们也是素食主义者。

我必须决定上述数据库是否设计得很好(在BCNF中有意义),如果没有,则将其重组为BCNF。

如何找到所有FD?

1 个答案:

答案 0 :(得分:0)

所以,我试图找出以下的FD:

代码 - >代码,名称,解密,素食主义者,素食主义者(关系"成分",表明成分在BCNF)。

然后:

userID - >电子邮件,用户名

食谱 - >标题,描述,素食主义者,素食主义者,困难

recipeCode - > ingredientCode,ingredientNAme,数量

这些是正确的吗?还有其他FD吗?我无法真正发现它们。 Goven我发现的FD,我可以判断数据库是否在BCNF? 谢谢你的帮助!