2016-03-21 13 views
0

最近、SQLとキーについて学んでいます。候補キーSQL

リレーションテーブルにn個の属性があるのでしょうか?可能な候補キーの数はいくつありますか?

答えて

0

リレーションの属性の各サブセットは候補キーにすることができます。そう数は、編集2 N

あり、n個の要素の集合のサブセットの数に等しい

元の答え2 N -1であっただけでなく、それは有意空の(またはniladic)キーを持つこと。このような種類の鍵は、関係にタプルが1つしかないことを意味します。説明のために@ErwinSmoutに感謝します。

+0

残念ながら、空のセットを除外してはいけません。 SQLは空のキーをサポートしていませんが、それは単にSQLが完全なリレーショナルではないことを意味します。一部のSQL製品では、空のキー(niladic)を効果的にサポートしていることさえあります。この質問の –

+0

は候補キーもスーパーキーの数ですか?候補のキーは、行を識別するために必要なキーの最小数であるため、属性そのもののいずれかになると考えました。 (またはそれは前提でしょうか?) – boredj

+0

@boredj、潜在的な候補キーの数について言えば、これはコメントに従って2^n-1または2^nに等しくなります。同じテーブルに同時に存在できる候補キーの最大数について話している場合、これは異なる質問です。最初のケースでは、候補キーは任意の数の属性を持つことができます。 – Renzo

関連する問題