ご存知のように、リレーショナルデータベースのすべての関数従属性を推測するための3つのアームストロングの公理があります。(X、Y、Zは属性のセットです)
- 再帰性: X⊆Yの場合、Y→X
- 拡張:X→Yの場合、任意のZに対してXZ→YZ
- 推移性:X→YおよびY→Zの場合、X→Z
たとえば、そのようなスキーマがある場合、拡張と推移性を理解します。
SOME_SCHEMA(a、b、c、d)
そのような機能依存性を持つ:
- a→b
- b→c
拡張を使用することでac→bcを取得するか、推移性を使用することで→cなどを取得できますが、再帰性の公理を使用してより多くの関数従属性を推測する方法がわかりません。一部の属性が他の属性のサブセットであることは、実際にはどういう意味ですか?
私のスキーマを使用した例、または独自のスキーマを作成した例を教えてください。