完全関数従属 【full functional dependency】
概要
完全関数従属(full functional dependency)とは、リレーショナルデータベース(RDB)の表で、ある属性が複数の候補キーのすべての組み合わせに対してのみ関数従属している状態のこと。表の中で、ある属性の値を決定すると別の属性の値も一意に決まる性質を「関数従属性」という。属性Xを決めると属性Yが定まるとき、「X→Y」のように表記し、Xを「決定項」、Yを「従属項」あるいは「被決定項」という。
複数の候補キーの組み合わせて復号主キーを構成しているような表で、ある属性が候補キーの組み合わせにのみ従属している(候補キーすべての値が決まらないと値が定まらない)状態を、完全関数従属であるという。一方、候補キーのいずれか一つに対しても従属している状態は「部分関数従属」という。
例えば、「注文番号, 商品ID, 商品名, 数量」のように候補キー2つ(注文番号・商品ID)で複合主キーを構成するような表で、「数量」は注文番号と商品IDの両方が決まらないと分からないため完全関数従属である。一方、「商品名」は候補キー2つの組み合わせにも従属しているが、商品IDのみから一意に求めることができるため部分関数従属となる。
(2023.6.6更新)