第5正規形
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/12 07:30 UTC 版)
第5正規形 (fifth normal form; 5NF) を満たす関係は、その関係が第4正規形であり、さらにその関係に含まれる結合従属性の決定項が候補キーのみである場合、かつその場合だけである。第5正規形は、射影-結合正規形 (project-join normal form; PJ/NF) とも呼ばれる。 結合従属性の定義を述べる。R を関係とし、A, B, ... , Z を、R の属性集合の任意の部分集合とする。このとき、R が A, B, ... , Z 上の射影の結合と等しいときかつそのときに限り、R は結合従属性 * ( A, B, ... , Z ) を満たすという。 例を示して説明する。この例は、医療情報の関係データベースである。このデータベースには精神科医-保険会社-病気関係が一つ存在する。 精神科医-保険会社-病気関係の候補キーは、{精神科医, 保険会社, 病気} である。この候補キーは3つの属性から構成される複合キーである。 各精神科医は、それぞれがいくつかの保険会社から払い戻しを受けて治療を行う。各精神科医は、それぞれがいくつかの病気を治療することができる。各保険会社は、それぞれがいくつかの病気を保険の対象とする。 精神科医-保険会社-病気精神科医保険会社病気Dr. James Healthco 不安状態 Dr. James Healthco うつ病 Dr. Kendrick FriendlyCare 強迫神経症 Dr. Kendrick FriendlyCare 不安状態 Dr. Kendrick FriendlyCare うつ病 Dr. Kendrick FriendlyCare 気分障害 Dr. Lowenstein FriendlyCare 不安状態 Dr. Lowenstein FriendlyCare 統合失調症 Dr. Lowenstein Healthco 不安状態 Dr. Lowenstein Healthco 認知症 Dr. Lowenstein Victorian Life 転換性障害 精神科医は患者に対して、払い戻しができる範囲での治療法を行うことができる。患者は病気にかかっており、契約した保険会社の保険に入っている。精神科医と保険会社と病気の正当な組み合わせだけが、この関係に含まれるような制約が、全くなかった場合には、この3つの属性をもつ精神科医-保険会社-病気関係は、正しく現実世界の要件に適合するように、再設計をしなければならない。 しかしながら、ここで次の規則を適用すると前提する。「ある精神科医が、保険会社 P の保険に入っている患者に対して、払い戻しができる範囲での治療法を行うことを承認されていて、その精神科医は病気 C の治療ができるのであれば、 – 保険会社 P が病気 C を保険の対象としている場合 – その精神科医は病気 C にかかっていて保険会社 P の保険に入っている患者に対して払い戻しができる範囲での治療を行うことができる、という命題は真にならなければならない。」 精神科医-保険会社-病気関係には、明らかに冗長性がある。Dr. Lowenstein のデータを例にして考える。 Dr. Lowenstein がFriendlyCare社から払い戻しを受けているという事実が、2つの組に出現している。 Dr. Lowenstein がHealthco社から払い戻しを受けているという事実が、2つの組に出現している。 Dr. Lowenstein が不安状態の治療をすることができるという事実が、2つの組に出現している。 精神科医-保険会社-病気関係は、第4正規形であるが、第5正規形ではない。なぜなら、精神科医-保険会社-病気関係においてある結合従属性を満たすが、これはこの関係のただ一つの候補キー {精神科医, 保険会社, 病気} によって意味されるものではないからである。 先述の前提のもとでは、精神科医-保険会社-病気関係は3つの関係に分解することができる。精神科医-保険会社-病気関係の分解手順は次のとおりである。 精神科医-保険会社-病気関係を {精神科医, 病気} で射影して、精神科医-病気関係を得る。 精神科医-保険会社-病気関係を {精神科医, 保険会社} で射影して、精神科医-保険会社関係を得る。 精神科医-保険会社-病気関係を {保険会社, 病気} で射影して、保険会社-病気関係を得る。 精神科医-病気精神科医病気Dr. James 不安状態 Dr. James うつ病 Dr. Kendrick 強迫神経症 Dr. Kendrick 不安状態 Dr. Kendrick うつ病 Dr. Kendrick 気分障害 Dr. Lowenstein 統合失調症 Dr. Lowenstein 不安状態 Dr. Lowenstein 認知症 Dr. Lowenstein 転換性障害 精神科医-保険会社精神科医保険会社Dr. James Healthco Dr. Kendrick FriendlyCare Dr. Lowenstein FriendlyCare Dr. Lowenstein Healthco Dr. Lowenstein Victorian Life 保険会社-病気保険会社病気Healthco 不安状態 Healthco うつ病 Healthco 認知症 FriendlyCare 強迫神経症 FriendlyCare 不安状態 FriendlyCare うつ病 FriendlyCare 気分障害 FriendlyCare 統合失調症 Victorian Life 転換性障害 この関係分解により冗長性がどのように除去されるのかに注意すること。例えば、Dr. James が FriendlyCare 社から払い戻しを受けて治療するようになる場合を考える。関係分解前の精神科医-保険会社-病気関係では、Dr. James は FriendlyCare 社が保険の対象としている不安状態とうつ病の治療ができるため、精神科医-保険会社-病気関係に2つの組を追加しなければならない。関係分解後では、精神科医-保険会社関係に1つの組を追加するだけでよい。
※この「第5正規形」の解説は、「関係の正規化」の解説の一部です。
「第5正規形」を含む「関係の正規化」の記事については、「関係の正規化」の概要を参照ください。
- 第5正規形のページへのリンク