ユーザ名は、主キーのための有効な候補はありますか?
-
23-09-2019 - |
質問
私は、代理の主キーは、一般的に自然主キー上で推奨されている知っているが、それはユーザ名?
となると任意の引数がサロゲート主キーの賛成であります解決
あなたが重複したユーザ名を取得したくない場合は、作成 UNIQUE constraint
。
DWong1145
はそれのユーザー名を変更したい場合はどう?あなたはすべてのデータベースの関係がUPDATE CASCADE
であることを作るためになりますか?
他のヒント
いいえ、あなただけのユニークなキー/定数のようにを使用するユーザ名必要があります。ユーザー名は、公正かつたとえば、変更することができます:あなたがそれをドロップする商標権と所有者の要求かもしれ
。これは、ある意味では良い候補である、しかし、あなたはあなたが本当にそれをしたい場合は考慮する必要があります。たとえば、あなたは、特定のユーザー名でユーザーを持って、ユーザは、「削除」(または削除済みとしてマーク)を取得します。だから、同じユーザー名を持つ別のユーザーを作成することができないために何の理由は、実際には存在しないが、それは主キーなので、それはすでに、「とら」されます。
顧客の観点から、あなたは賭けます。私は私のユーザー名はDWong1145になりたくありません。
主キーとして文字列を持つことの大きな欠点は、関係なく、それがユーザ名または何か他のかどうかの、テーブルを参照するすべての外部キー列も遅く、廃棄物の両方より多くのスペースである、文字列でなければならないということです。
所属していません StackOverflow