1

私はBCNFと非自明なFDを理解しようとしていますが、ちょっと混乱しています。私は現在、次のデータベースを設計しています。私の理解では、これは BCNF である必要があります。

実際にそうである場合、フィードバックを提供していただけますか? * は主キーを意味し、ユーザーは同じアイテムに同時に入札できないことに注意してください。アイテムは複数のカテゴリを持つことができます。first_bid は各アイテムに固有で、最低必要入札額を意味します。start、end はオークションの日付です。

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

また、各リレーションの非自明な機能依存関係について教えてください。

4

1 に答える 1

4

些細な依存関係の例: 入札テーブルでは、(buyer_id, time) が時間を決定します。これは入力の一部であるため、簡単です。

重要な依存関係の例: Category テーブルでは、おそらく cat_id によって cat_name が決定されます。そうでない場合、cat_id をキーにすることはできません。

すべての FD を教えていただければ、重要な FD を教えてくれます。

BCNF の追加のハンドルとして、便利なルールがあります。候補キーが 1 つだけあり、3NF にあるテーブルは、BCNF にもあります。これらのテーブルには、あなたが述べたもの以外の代替候補キーがありますか?

Users テーブルが 3NF にない可能性があります。場所は国を決定しますか?

于 2012-10-27T10:42:36.097 に答える