RDBにおける候補キーとは一意にレコードを定めることができるカラムのことを指します。
これにnot null制約が課されることでよく知られている主キー(primary key)になります。
つまり候補キーは各テーブルで非常に重要なキーであり、更にこれは正規化するにあたって必要な要素になります。
そのため、候補キーを見つけることはテーブル設計において大事な役割を果たします。
実は任意のテーブルに対してその候補キーを見つけるためのアルゴリズムが存在し、1つ見つける場合は多項式オーダーの時間計算量で済むことが知られています。
そこで、本セッションではそのアルゴリズムについてできる限り詳しく紹介したいと思います。