関数従属性
関数従属性 (かんすうじゅうぞくせい、FD、英: functional dependency) は、コンピュータの関係データベースにおける関係(表)の2つの属性集合間で、一方の属性集合の値(の集合)がもう一方の属性集合の値(の集合)を関数的に決定するという、制約である。
R を関係として、X と Y をそれぞれ R の属性の集合とすると、X の各々の値がただ一つの Y の値に関連づけられる場合かつその場合に限り、X は Y を「関数的に決定する」という。 X が Y を関数的に決定することを、X → Y と記述する。 慣例として、X → Y のとき、X を決定項、Y を従属項と呼ぶ。 X → Y のとき、ある組(タプル、行)があり、その X の値の集合があるとき、対応する Y の値の集合が決定される。 簡単のために、R を関係とし、X と Y をそれぞれ R の属性の集合とすると、X → Y は X が Y の各々の値を関数的に決定すると述べることができる。 以上のことから候補キーは、その関係においてすべての属性値を関数的に決定する最小の属性集合である。
(注意: 「関数従属性」で議論される文脈での「関数」は一意的に決定する関数である)
関数従属性 FD: X → Y は、Y が X の部分集合である場合、自明な関数従属性であると呼ばれる。