第5正規形(5NF)
5NF(Fifth Normal Form)は、プロジェクト結合通常形式とも呼ばれます。リレーションは、4NFの場合、第5正規形(5NF)であり、小さなテーブルへのロスレス分解はありません。
候補キーがその中のすべての結合依存関係を暗示している場合は、関係が5NFにあると見なすこともできます。
例
以下の関係は、正規化の第5正規形(5NF)に違反しています-
<従業員>
EmpName | EmpSkills | EmpJob (割り当てられた仕事) |
David | Java | E145 |
ジョン | JavaScript | E146 |
Jamie | jQuery | E146 |
エマ | Java | E147 |
上記の関係は、次の3つの表に分解できます。したがって、5NF-にはありません。
EmpName | EmpSkills |
David | Java |
ジョン | JavaScript |
Jamie | jQuery |
エマ | Java |
以下は、各従業員に割り当てられたジョブを表示する
EmpName | EmpJob |
David | E145 |
ジョン | E146 |
Jamie | E146 |
エマ | E147 |
割り当てられた仕事に関連するスキルは次のとおりです-
EmpSkills | EmpJob |
Java | E145 |
JavaScript | E146 |
jQuery | E146 |
Java | E147 |
参加の依存関係-
{(EmpName、EmpSkills)、(EmpName、EmpJob)、(EmpSkills、EmpJob)} |
上記の関係には結合依存関係があるため、5NFには含まれていません。つまり、上記の3つの関係の結合関係は、元の関係
-
第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 上記の表は、推移的な機能依存性
-
Djangoのフォームウィジェット
この記事では、Djangoフォームでウィジェットを使用する方法を説明します。ウィジェットは、フロントエンドを改善するのに非常に役立ちます。ウィジェットは、Djangoフォーム、テキストエリア、入力、パスワード入力などからレンダリングされるhtml要素であり、すべてウィジェットです。 まず、Djangoプロジェクトとアプリを作成しましょう。 tutorial14という名前でプロジェクトを作成しました djangoFormWidgetという名前のアプリ 。 settings.pyにアプリを追加します プロジェクトのurls.py。にアプリのURLを含めます テンプレート、 home.