問題タブ [bcnf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - BCNF分解の結果は固定ですか?
私はいくつかの BCNF 分解演習を試みましたが、大規模な非 BCNF 関係の分解された BCNF 関係のセットが固定されていないことに気付きました。それは私が分解するために使用する方法に依存します。
たとえば、 BCNF に分解して BCNF を満たすR(A,B,C,D)
ことができますが、BCNF に分解しR1(A,B,C)
てBCNF を満たすR2(C,D)
こともできます。R1(B,C,D)
R2(A,C)
本当に修正されていないのでしょうか、それとも分解プロセスで間違いを犯したのでしょうか?
ありがとう。
database - BCNF ではなく 3NF で関係を見つける
3NF/BCNF にある関係を区別する方法について、さまざまな情報源を読んできました。そして、私はこれまでのところ、これが私の理解です...
この関係を例として使用します...
R = {A, B, C, D, E}
と
F = {A -> B, B C - > E, E D -> A}
.
まず、関係のキーを見つける必要があります。そのためにこの動画を使いました。そして、私は得ました
Keys = {ACD, BCD, CDE}
R
がBCNFにあることを確認するには、 のすべての関数依存関係の左側F
がKeys
. A -> B
最初の FD はキーの 1 つであり、キーの 1 つではないため、そうではないことがすぐにわかりA
ます。したがって、BCNF にはありません。
R
が3NFにあることを確認するには、 のすべての機能依存関係の左側が のF
いずれかであるか、 のすべての機能依存関係の右側が の 1 つのサブセットであるKeys
ことを確認する必要があります。すべての FD の右側を見ると、、およびです。これらはそれぞれ a のサブセットであるため、これは 3NF にあることを意味します。F
Keys
B
E
A
Key
したがって、これは(wiki によると) リレーションが に含まれているが含まれていないまれなケースの 1 つです。この方法は正しいですか?信頼できますか?何か不足していますか?3NF
BCNF
database-normalization - 過去の試験で奇妙な BCNF 分解
これを BCNF に分割する際に問題があります。
これは私の過去の試験の 1 つにありましたが、その解き方がよくわかりません。
私は、私たちのコースの文献を書いた女性 (Jennifer Widom) から coursera で次のことを学びました。
これまでのところ、私はここにいます: 明らかに、A が重要なので、その FD は既に BCNF にあります。質問は、おそらく冗長 FD を消去できますか? もしそうなら、経験則は何ですか?
そしてどこへ行けばいいのかわからない。
database - ボイス・コッド通常形?
これらの例が BCNF にあるかどうかを確認して、これらを正しく行っているかどうかを確認したいと考えています。関係:
機能依存性:
BCNF関係:
2番目の例
関係:
機能依存性:
BCNF関係:
私はこれらで正しい軌道に乗っていますか?