MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

第4正規形(4NF)


4NFとは何ですか?

4NFは、1NF、2NF、3NF、およびBoyce-Codd正規形の後にあります。 1977年にRonaldFaginによって導入されました。

4NFにするには、リレーションはBouce-Codd正規形である必要があり、複数の複数値属性を含めることはできません。

例を見てみましょう-

<映画>

Movie_Name
Shooting_Location
リスト
MovieOne
英国
コメディ
MovieOne
英国
スリラー
MovieTwo
オーストラリア
アクション
MovieTwo
オーストラリア
犯罪
MovieThree
インド
ドラマ

上記は4NFには含まれていません。

  • 複数の映画に同じリストを含めることができます
  • 多くの撮影場所で同じ映画を撮影できます

上記の表を4NFに変換してみましょう-

Movie_Name
Shooting_Location
MovieOne
英国
MovieOne
英国
MovieTwo
オーストラリア
MovieTwo
オーストラリア
MovieThree
インド

Movie_Name
リスト
MovieOne
コメディ
MovieOne
スリラー
MovieTwo
アクション
MovieTwo
犯罪
MovieThree
ドラマ

これで違反が削除され、テーブルは4NFになります。


  1. 第3正規形(3NF)

    3NFとは何ですか? 正規化の3番目のステップは3NFです。 リレーションが2NFにあり、推移的な関数従属性がない場合にのみ、テーブルは3NFにあります 例を見てみましょう- 例(テーブルは3NFに違反しています) Movie_ID Listing_ID Listing_Type DVD_Price ($) 0089 007 コメディ 100 0090 003 アクション 150 0091 007 コメディ 100 上記の表は、推移的な機能依存性

  2. Djangoのフォームウィジェット

    この記事では、Djangoフォームでウィジェットを使用する方法を説明します。ウィジェットは、フロントエンドを改善するのに非常に役立ちます。ウィジェットは、Djangoフォーム、テキストエリア、入力、パスワード入力などからレンダリングされるhtml要素であり、すべてウィジェットです。 まず、Djangoプロジェクトとアプリを作成しましょう。 tutorial14という名前でプロジェクトを作成しました djangoFormWidgetという名前のアプリ 。 settings.pyにアプリを追加します プロジェクトのurls.py。にアプリのURLを含めます テンプレート、 home.