F (関係スキーム上の関数従属性の集合) の標準カバーは、 F が 内のすべての従属性を論理的に意味し、 F 内のすべての従属性を論理的に意味するような従属性 の集合です。
このセット には 2 つの重要なプロパティがあります。
- の機能依存関係には余分な属性は含まれません。
- における関数従属関係の各左辺は一意である。つまり、と において、となるような2つの従属関係は存在しない。
標準被覆は、与えられた関数従属関係の集合に対して一意ではないため、1 つの集合 F は複数の被覆を持つことができます。
標準被覆を計算するアルゴリズム
- 繰り返す:
- 結合規則を使用して、および の形式の依存関係を に置き換えます。
- 不要な属性を持つ関数依存関係を見つけて削除します
- ...変わらないまで[1]
標準的なカバーの例
次の例では、F cは F の標準被覆です。
次式から、標準被覆を求めることができます: R = (A, B, C, G, H, I), F = {A→BC, B→C, A→B, AB→C}
- {A→BC、B→C、A→B、AB→C}
- {A → BC、B → C、AB → C}
- {A → BC、B → C}
- {A → B、B → C}
F c = {A → B、B → C}
余分な属性
ある属性が関数従属性から除去されても、どの属性の閉包も変化しない場合、その属性は関数従属性において無関係である。[2]
外在的な決定要因属性
関数従属性の集合とにおける関数従属性が与えられたとき、属性 はにおいて無関係であり、における関数従属性のいずれかはアームストロングの公理を用いて導出できる。[2]
別の方法を用いると、関数従属性の集合と関数従属性X → Aが与えられ、かつ、の場合には属性YはXに無関係となる。[3]
例えば:
- F = {A → C, AB → C} の場合、B を削除した後でも A → C を推論できるため、B は AB → C に無関係です。これは、A が機能的に C を決定する場合、AB も機能的に C を決定するため当てはまります。
- F = {A → D、D → C、AB → C} の場合、{A → D、D → C、AB → C} は論理的に A → C を意味するため、B は AB → C には無関係です。
余分な依存属性
関数従属性の集合とにおける関数従属性が与えられたとき、属性 はにおいて無関係であり、における関数従属性のいずれかはアームストロングの公理を用いて導かれる。[3]
関数従属関係の従属属性は、その関数従属関係における決定的属性の集合の閉包を変えることなく削除できる場合、無関係である。[2]
例えば:
- F = {A → C, AB → CD} の場合、C を削除した後でも AB → C を推論できるため、C は AB → CD には不要です。
- F = {A → BC, B → C} の場合、C を削除した後でも A → C を推論できるため、C は A → BC には無関係です。
参考文献
- ^ シルバーシャッツ、アブラハム (2011). データベースシステムの概念(PDF) (第6版). ニューヨーク: マグロウヒル. ISBN 978-0073523323. 2020年11月8日時点のオリジナル(PDF)からアーカイブ。
- ^ abc エルマスリ、ラメズ (2016).データベース システムの基礎。シャム・ナバテ (第 7 版)。ニュージャージー州ホーボーケン:ピアソン。ISBN 978-0-13-397077-7. OCLC 913842106.
- ^ ab K, Saravanakumar; asamy. 「余分な属性を見つける方法? 例」2023年3月14日閲覧。