\r\n\r\n
1NF vs. 2NF vs. 3NF
リレーショナルデータベースで行われる冗長化操作は、冗長なデータを最小限にするように設計されています。この処理は、基本的に大きなテーブルを冗長性の少ない小さなテーブルに分割することである。これらの小さなテーブルは、明確に定義されたリレーションシップによって互いに関連付けられる。標準化されたデータベースでは、データを変更したり修正したりする場合、1つのテーブルだけを修正すればよい。関係モデルと正規化の概念を考案したエドガーフ・コッドによって、第一パラダイム(1NF)、第二パラダイム(2NF)、第三パラダイム(3NF)が提唱されました。
1NFとは?
1NFは最初の標準形式であり、関係データベースを正規化するための最小限の要求事項を提供する。1NFに準拠したテーブルは、実際に関係を表すことを保証する(すなわち、重複したレコードを含まない)ものであるが、普遍的に受け入れられる1NFの定義はない。重要な特性は、1NFに準拠した表は関係値を持つ属性を含むことができない(すなわち、すべての属性が原子値を持つべきである)ことである。
2NFとは?
2NFは、リレーショナルデータベースで使われる仕様の第二形式である。2NFに準拠するテーブルでは、1NFに準拠すべきであり、どの候補キーにも属さない属性(すなわち非主要属性)は、テーブル内のどの候補キーにも完全に依存すべきなのである。
3NFとは?
3NFは関係データベースの正規化で使われる第3の仕様の形式である。コッドの定義によれば、表が第2パラダイム(2NF)であり、表中の候補キー以外のすべての属性が表中のすべての候補キーに直接依存する場合にのみ3NFという。3NFに準拠したテーブルでは、通常、テーブルの行を**、削除、更新する際に発生する例外は発生しない。
1NFと2NFと3NFの違いは何ですか?