関数従属性
関数従属性とは、ある属性集合の値が別の属性集合の値を一意に決定するという制約であり、キー発見と正規化を推進する意味論的な入力となります。
PaperMindでテーマを探す近日公開Find papers & topics
Tools & resources
Learn & explore
動画近日公開
Definition
関係スキーマにおける関数従属性 X → Y は、すべての正当なインスタンスにおいて、X のすべての属性で一致する任意の2つのタプルが、Y のすべての属性でも一致する場合に成立します。すなわち、X が Y を関数的に決定します。
Scope
このトピックでは、関数従属性(FD)とその形式理論について扱います。具体的には、X → Y の定義、自明な従属性と非自明な従属性、アームストロングの公理(反射律、増加律、推移律)とその健全性および完全性、属性集合の閉包とFD集合の閉包、正準(最小)カバー、および候補キーを計算するためのFDの使用についてです。多値従属性と結合従属性、およびFDを用いてテストされる正規形については、隣接するトピックで扱われるため、ここでは除外します。
Core questions
- ある属性集合が別の属性集合を関数的に決定するとは、どのような意味でしょうか?
- どの推論規則(アームストロングの公理)がFDに対して健全かつ完全なのでしょうか?
- 属性集合の閉包はどのように計算され、何に利用されるのでしょうか?
- 関数従属性の集合から候補キーはどのように導出されるのでしょうか?
- 最小(正準)カバーとは何であり、なぜ有用なのでしょうか?
Key concepts
- 関数従属性 X → Y
- 自明な従属性と非自明な従属性
- アームストロングの公理
- 属性集合の閉包
- FD集合の閉包
- 候補キーとスーパーキー
- 最小(正準)カバー
- 健全性と完全性
Key theories
- 関数従属性
- X → Y は、X の値が Y の値を決定するように関係を制約します。FDは、スキーマが強制しなければならない現実世界の規則(例えば、キーが他のすべての属性を決定するなど)を形式化します。
- アームストロングの公理
- 反射律、増加律、推移律は、関数従属性に対する健全かつ完全な推論システムを形成するため、与えられた集合から論理的に導かれるすべての従属性、かつそれらのみを導出できます。
- 属性閉包と最小カバー
- FDの集合の下での属性集合の閉包は、それがどの属性を決定するか(したがってスーパーキーであるかどうか)を明らかにし、最小カバーは、正規化の基礎として使用される、同等で冗長性のないFDの集合です。
Clinical relevance
関数従属性は、スキーマ設計ツールの実用的な入力であり、データベース設計者がキーを特定し、テーブルを分割する方法を決定するために使用する推論です。これらを正しく理解することで、正規化によって情報損失なく冗長性を排除することが可能になります。
History
関数従属性は、リレーショナルモデルとその正規化とともにコッドによって導入され、W. W. アームストロングは1974年に彼の名を冠する公理系を提示し、その健全性と完全性を証明しました。これらの結果により、従属性の推論がアルゴリズム化され、その後のすべての正規化理論の基礎となりました。
Key figures
- Edgar F. Codd
- William W. Armstrong
Related topics
Seminal works
- codd1972
- armstrong1974
- silberschatz2019
Frequently asked questions
- 関数従属性はキーとどのように異なるのでしょうか?
- キーは特殊なケースです。候補キー K は、その閉包が関係全体である最小の属性集合、すなわち K がすべての属性を関数的に決定するものです。関数従属性は、属性閉包を計算することによってキーが導出される、より一般的な制約です。
- なぜ最小カバーを計算するのでしょうか?
- 最小(正準)カバーは、冗長な従属性や余分な属性を含まない、同等の関数従属性の集合です。最小カバーから作業することで、キーの発見が簡素化され、特に従属性保存設計を追求する際に、正規化中のよりクリーンな分解が生成されます。