主キーは、テーブル内の行を一意に識別する属性または属性のセットです。ただし、主キーは一意であるだけでなく、最小限である必要があります。なぜそれが必要なのですか?
4765 次
2 に答える
6
最小限のキーを識別することが重要である理由は、それらのキーへの依存関係に冗長性がないことを確認するためです。冗長性は、異常や誤った結果を引き起こす可能性があります。
最小性は、純粋に構造的な機能ではなく、本質的に意味論的な問題であるため、データベースの実装では必ずしも必要ではありません。たとえば、SQLを使用すると、任意のスーパーキーに「主キー」を作成できます。これは、既約のスーパーキーではない場合があります。
最小値は既約を意味し、最小値を意味するわけではないため、最小値はストレージサイズとは関係ありません。
于 2010-08-16T10:16:54.773 に答える
1
主キーは、行を一意に識別するのに十分な大きさであればよいため、最小限にする必要があります。それ以外のものは、使用されるインデックス スペースに関して無駄です。
つまり、一意の列username
と別の一意の列がある場合student_id
、それらの両方から構築された主キーは無駄です。これを処理する通常の方法は、一方を主キーとして使用し、もう一方に一意の制約/インデックスを設定することです。
于 2010-08-16T07:03:20.183 に答える