私はデータベースを設計するのが初めてです。多分それは愚かな質問ですので、私はそれを許してください。だから、私はユーザー用のデータベースを設計しています。ユーザーは登録情報を入力した後、一意の受領番号を取得します。だから私の質問は受領番号以来です。 Userテーブルのプライマリキーとして使用することはできますか?または、userIDをプライマリキーとしてuserIDを使用してテーブルの各行にuserIDを割り当てるという標準的な方法を採用する必要がありますか?プライマリキーとの混同
答えて
を作ることができるかもしれません。長さが数字や文字、または20桁を使用して構築された - - 十分に複雑で、より良い使用のユーザーIDとReceiptNo
にその値を割り当てる - レシートいいえ単純な整数であることができ、DBから生成することができる場合、より良いサロゲートユーザーIDを使用します
ReceiptNoが単純な整数で、そのユーザーがおよびの唯一のユーザーであることを識別する場合、これをPKeyとして使用します。
Oleg Dog、返信いただきありがとうございます。領収書番号は英数字と8文字であるため、自動インクリメントされたユーザーIDを使用することをお勧めします。 – user1142462
領収書番号は、その後のみ整数が含まれている場合は、領収書がない場合は、領収書・ノー自動インクリメント番号などのフィールド、
領収書番号は英数字で、8文字です。 – user1142462
だから、私は主キーとしてuserIDに固執すべきだと思いますか? – user1142462
はい、この場合、 – mack
テーブルには複数のキーを設定できます。受領番号がユニークであるように意図されていて、DBMSにその属性に対するキー依存性をデータ整合性制約として適用させたい場合は、それをキーにする必要があります(PRIMARY KEYまたはUNIQUE制約によって実装される一意性、提供する)。
"プライマリ"になるキーを指定することは特に重要ではありません - 少なくとも、それはあなたが望むだけ重要です。本当に重要なのは、選択したキーの完全なセットです。任意のキーの要件は、一意性と還元性です。キーを選択するための感覚的な基準もあります。親しみやすさ、シンプルさと安定性
おそらく、一般的には、熟知度基準でサロゲートスコアがゼロに非常に近く、安定性基準ではサロゲートMIGHTスコアが不十分です。 –
- 1. UIScrollViewとsetContentSizeとの混同
- 2. .serialize()と.serializeElements()との混同
- 3. シェルグローブワイルドカードとRegexとの混同
- 4. プライマリキーとIDの同じ列をHibernate
- 5. フォーマットと混同 - sqlite
- 6. PKとFKテーブルデザインの混同
- 7. PHPとXMLの混同
- 8. パッケージとの混同.NoClassDefFoundError
- 9. mscordacwks.dllとmscorwks.dllの混同
- 10. SmartSVNとSVNバージョンの混同
- 11. WPF MVVMとの混同
- 12. isNaN()とparseInt()の混同
- 13. onStop()onStop()onResume()との混同
- 14. Binary_crossentropyとCategorical_crossentropyの混同
- 15. 作業アカウントとMicrosoftアカウントとの混同
- 16. コレクションとモデルの混同とbackbone.js
- 17. virtualenvsとPythonパッケージとの混同
- 18. ポインタとアドレスとの混同[チートエンジン]
- 19. javascriptのisNaNとNumber.isNaNの混同
- 20. Gitでのマージとコミットの混同
- 21. PHPのコンストラクタ関数との混同
- 22. OpenCv4AndroidとC++のデータタイプの混同
- 23. CruseControl.NETとの混同sourcecontrol exclusionFiltersのパターン
- 24. DLLの作成、__declspec(dllexport)との混同
- 25. Enumの解析との混同
- 26. Vue:イベントメソッド - 混同
- 27. HDFSブロックサイズ混同
- 28. RPNCalculatorコード混同
- 29. ThreadLocalソースコード混同
- 30. Pythonの配列と混同します
これらの領収書は何ですか? – simchona
ユーザーは領収書番号で識別されていますか?次のように:彼は時間の終わりまでこの番号を保持し、この番号はこのユーザーを特定する以外の目的に使用されませんか?はいの場合は、先に進んでください。いいえの場合は、これらの要件を満たす個別のユーザーIDを使用します。 – Tomalak
そのようにユーザーが情報を入力すると、一意の受領番号がユーザーの電子メールに送信されます。その領収書番号を使用して、彼は彼の注文の状態を見ることができる。 – user1142462