問題タブ [3nf]
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.
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 - ERD に 3NF を適用する際の問題点
ここに私のERDがあります:
このERDを正規化しようとしましたが、これまでに行ったことは次のとおりです。
私は第 3 正規形まで正規化しようとしているので、基本的に機能的な依存関係を達成し、移行的な依存関係を取り除こうとしています。私を混乱させるいくつかの質問があります:
- 飛行機のテーブルで、メーカーとモデルはそのままでいいですか、それとも新しいテーブルに移す必要がありますか?
- 空港のテーブルで、ICAO と IATA のコード識別子を新しいテーブルに転送する必要がありますか?
- Airline テーブルの IATA と ICAO についても同様です。
- また、3NF を考慮して、マネージャー テーブルに何か変更が必要ですか?
よろしく
database - リレーショナル スキーマを正規化する方法は?
次のリレーショナル スキーマを検討してください。
(第 3 正規形で) 完全に正規化し、機能の依存関係を特定しようとしています。ただし、無限の研究により、次の方法を回避することはできません。
- リレーショナル スキーマを完全に正規化する
- 機能依存関係の特定
これについてどうすればいいですか?
database-normalization - 循環依存がある場合の 3NF から BCNF への変換
一連の依存関係を持つリレーショナル スキーマ R(A、B、C、D) がある場合:
R を BCNF 関係に分解するにはどうすればよいですか? どのように考えても、唯一のもっともらしい方法は、FDの1つを破棄することです。他に方法はありますか?