関係の正規化
ある関係が、第1正規形で、かつ、すべての非キー属性が、すべての候補キーに対して完全従属するとき、第2正規形 (second normal form; 2NF) であるという。つまり、第2正規形では、候補キーの一部に関数従属する非キー属性があってはならない。
A及びBを属性または属性の集合としたとき、「AがBに関数従属する」とは、Bの値を決めると、常にAの値が一つに定まるような性質をAが有することをいい、これをB → Aと書く。矢印の左側、つまりここでのBのことを決定項、右側、つまりここでのAのことを従属項という。属性の集合は { } で括る。(なお、A → A、{A, B} → A のように、従属項と決定項が同じか、従属項が決定項に含まれる属性だけからなる場合を自明な関数従属といい、以下の説明では関数従属から自明な関数従属を除く。)
{会員番号, 会員氏名} という関係の場合、会員番号が決まれば会員氏名も一つに定まるから、会員氏名は会員番号に関数従属する。この例でわかるように、関数従属しているためには、従属項の値が単に一つの値に対応することだけが必要であり、従属項の実際の値を導き出すのに、決定項の値だけでは情報が不足していても良い。つまり、関数従属とは、決定項が従属項のデータを取り出すための「アドレス」として使えることを意味する。
複数の属性からなる決定項のうち一部の属性にも関数従属することを部分(関数)従属(性) といい、複数の属性からなる決定項に関数従属するが部分従属はしないことを完全(関数)従属(性) という。