スーパーキー

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

データベース分野におけるスーパーキーは、リレーション関係)の組(タプル、行)を一意に特定できる属性(列)、または属性の集合のことをいう。 スーパーキーは、対象となるリレーションの全ての属性が関数従属している属性の集合と定義することもできる。

候補キー主キーとの違いは、一意に識別できるすべての組み合わせを表している点にある。つまり、候補キーに余計な属性を付け加えて冗長にしたものは候補キーではないが、依然としてスーパーキーではあるという差がある。スーパーキーが既約である場合、すなわち冗長性が無い場合、そのスーパーキーは候補キーでもある。

例えば、市町村(市町村ID, 市町村名, 都道府県名)というリレーションの場合、市町村ID、{市町村ID, 市町村名}、{市町村ID, 都道府県名}、{市町村ID, 市町村名, 都道府県名}、{市町村名, 都道府県名} がスーパーキーである。

リレーションの全ての属性からなる集合は、そのリレーションが基底関係であろうと導出関係(ビュー)であろうと、常にスーパーキーである。