Je suis nouveau à la base de données de conception. Peut-être que c'est une question stupide, alors pardonnez-moi s'il vous plaît. Donc, la chose est que je conçois la base de données pour les utilisateurs. Une fois que l'utilisateur a rempli les informations d'enregistrement, il reçoit le numéro de reçu unique. Donc, ma question est depuis la réception non. est unique puis-je l'utiliser comme clé primaire dans le tableau Utilisateurs ou devrais-je m'en tenir à la méthode standard d'assignation d'ID utilisateur à chaque ligne de la table et utiliser ID utilisateur comme clé primaire?Confusion avec la clé primaire
Répondre
Si votre reçu pas. est compliqué assez - construit en utilisant des nombres et des caractères, ou 20 chiffres - mieux utiliser le UserId substitut
Si la réception ne peut être simple entier et peut être généré à partir de DB - une meilleure utilisation UserId et affecter sa valeur à ReceiptNo
Si ReceiptNo est simple entier et identifie l'utilisateur AND le seul utilisateur - l'utiliser comme PKey.
Oleg Dog, merci pour la réponse rapide. Je pense qu'il est préférable d'utiliser des identifiants d'utilisateur auto-incrémentés puisque le numéro de reçu sera alphanumérique et de 8 caractères. – user1142462
si votre numéro de reçu ne contient que le numéro entier, alors, peut-être que vous pouvez faire de votre réception, aucun champ comme le numéro d'incrémentation automatique,
Le numéro de reçu sera alphanumérique et pourra comporter 8 caractères. – user1142462
Donc je pense que je devrais coller avec userID comme clé primaire droite? – user1142462
oui, dans ce cas, – mack
Une table peut avoir plusieurs clés. Si le numéro de reçu est destiné à être unique et que vous voulez que le SGBD impose des dépendances clés sur cet attribut comme contrainte d'intégrité des données, alors oui vous devriez en faire une clé (avec unicité implémentée par une contrainte PRIMARY KEY ou UNIQUE fournit).
Désigner une clé comme étant «primaire» n'est pas particulièrement important - ou du moins, elle est aussi importante que vous le souhaitez. Ce qui compte vraiment, c'est l'ensemble des clés que vous choisissez. Les exigences pour toute clé sont l'unicité et l'irréductibilité. Les critères sensés pour choisir une clé sont également: Familiarité, simplicité et stabilité
Et peut-être ajouter que typiquement, les substituts obtiennent un score très proche de zéro sur le critère de familiarité, et les non-substituts PEUVENT obtenir de mauvais résultats sur le critère de stabilité. –
- 1. varchar() clé primaire ou clé primaire int?
- 2. clé primaire composite avec clé étrangère
- 3. Problèmes d'hibernation avec la clé primaire composite
- 4. oracle clé primaire début avec la lettre
- 5. Définir la clé primaire avec deux entiers
- 6. Mysql: Partitionnement avec Clé primaire
- 7. Comment définir la clé primaire avec des valeurs dupliquées basées sur la clé primaire principale?
- 8. insert sqlite avec clé primaire
- 9. Clé étrangère vers la clé primaire composite
- 10. ORMlite modifier la clé primaire
- 11. Clé primaire VS clé étrangère
- 12. Comment authentifier la clé primaire?
- 13. Modification de la clé primaire en clé composite (la clé primaire existe déjà)
- 14. Comment réorganiser la clé primaire?
- 15. clé primaire comme clé étrangère
- 16. sqlite sans clé primaire?
- 17. Clé primaire Postgres synchronisée
- 18. Clé primaire composite PostgreSQL
- 19. clé primaire composite mySQL
- 20. Autoincrement clé primaire
- 21. Clé primaire composite Mysql
- 22. recherche par clé primaire
- 23. Hibernate Exception clé primaire
- 24. supprimer la clé primaire supprime également la clé étrangère
- 25. PostgreSQL bytea Clé primaire
- 26. NHibernate composite clé primaire
- 27. Duplication de clé primaire
- 28. Insérer la valeur de la colonne de clé primaire dans la colonne de clé Non primaire
- 29. Mysql Clone Row avec clé primaire
- 30. Demande SQL avec clé primaire composite
Quels sont ces reçus? – simchona
L'utilisateur * est-il identifié * par son numéro de reçu? Comme dans: Gardera-t-il ce numéro jusqu'à la fin des temps et ce numéro ne sera-t-il jamais utilisé à d'autres fins que l'identification de cet utilisateur? Si oui, allez-y. Si non, utilisez un ID utilisateur distinct répondant à ces exigences. – Tomalak
c'est comme lorsque l'utilisateur remplit l'info, le numéro de reçu unique est envoyé à l'email de l'utilisateur. et en utilisant ce numéro de reçu, il peut voir le statut de sa commande. – user1142462