0

在给定关系模式的情况下,我在查找所有正确的 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

RecipeIngredient 中的keys userID、recipeCode 是外键引用Recipe,componentCode 是外键引用成分。每个用户都有一个电子邮件和用户名。如果食谱或成分是素食主义者,那么它们也是素食主义者。

我必须确定上述数据库是否设计良好(在 BCNF 中的意思),如果不是,则将其重组为 BCNF。

我怎样才能找到所有的FD?

4

1 回答 1

0

因此,我试图找出以下 FD:

代码 -> 代码、名称、说明、素食主义者、素食主义者(对于关系“成分”,这表明成分在 BCNF 中)。

然后:

用户 ID -> 电子邮件,用户名

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

recipeCode -> 成分代码、成分名称、数量

这些是正确的吗?还有其他的FD吗?我真的找不到他们。根据我找到的 FD,我可以判断数据库是否在 BCNF 中?谢谢您的帮助!

于 2016-06-30T08:55:02.647 回答