1

我试图理解 BCNF 和非平凡的 FD,但我有点困惑。我目前设计了以下数据库,据我了解,这应该是 BCNF。

如果确实如此,您能否提供反馈?请注意,* 表示主键,用户不能同时对同一项目出价。一个项目可以有多个类别。first_bid 对每个项目都是唯一的,表示所需的最低投标金额。开始,结束是拍卖的日期。

Item(item_id*, name, current_bid, buy_price, first_bid, num_bids, Seller_id, start, end, description) Bids(buyer_id*, time*,amount, item_id)
用户(user_id*, location, country, rating)
Category(cat_id* , cat_name)
ItemCategory(item_id*, category_id*)

您能否告诉我每个关系的非平凡函数依赖项是什么?

4

1 回答 1

4

一个微不足道的依赖关系示例:在bids 表中,(buyer_id, time) 确定时间。这很简单,因为它是输入的一部分。

一个非平凡依赖的例子:在 Category 表中,cat_id 确定了 cat_name,大概是这样。如果不是,则 cat_id 不能成为关键。

如果您告诉我们所有的 FD,我们会告诉您哪些是重要的。

作为 BCNF 的一个附加句柄,这里有一个方便的规则:任何只有一个候选键并且在 3NF 中的表也在 BCNF 中。除了您所说的之外,这些表中是否有其他候选键?

用户表可能不在 3NF 中。位置决定国家吗?

于 2012-10-27T10:42:36.097 回答