Dois-je utiliser un nombre décimal ou un nombre flottant pour stocker un ratio dans une base de données? Particulièrement dans SQL2005.SQL: Qu'est-ce que vous utilisez pour stocker un ratio (pourcentage) dans une base de données?
Répondre
Cela dépend de votre besoin d'exactitude. Si vous pouvez tolérer les erreurs typiques qui proviennent de la méthode IEEE de stocker des nombres à virgule flottante, utilisez un flottant, sinon, utilisez une décimale si vous avez besoin d'une représentation exacte (et cela vaut pour tous les nombres non entiers que vous utiliserez dans les calculs utilisant le pourcentage aussi).
Cela dépend de la précision de votre choix. Si vous avez besoin de 1 ou 2 chiffres, et vous savez que le ratio maximum va être sous maxint/1000, je pense à stocker le ratio multiplié par 100 dans un int. Si vous avez besoin de nombres exacts, vous pourriez même vouloir stocker le numérateur et le dénominateur en tant qu'ints distincts. Sinon, tenez vous à flotter ou doublez.
Je n'utilise jamais de flottants dans une base de données, c'est peut-être une vieille habitude que la technologie a abordée, je ne suis pas sûr à 100%.
Soit des nombres entiers, soit des nombres mis à l'échelle, soit des nombres décimaux. Il y a des moments où une erreur d'arrondi semble insignifiante, mais elle peut échouer sur certaines valeurs ou introduire des erreurs cumulatives.
Cela dépend de votre ratio, vraiment.
Pour les taux d'intérêt, par exemple, dans le secteur bancaire, nous utilisons toujours la décimale, avec une précision et une échelle déterminées par l'entreprise. Si un taux d'intérêt doit être calculé et que le résultat est au-delà de la précision de la colonne, il existe toujours une règle de gestion définissant la manière dont le résultat doit être arrondi ou tronqué pour être inséré dans la colonne.
Si votre rapport est, par exemple, le rapport entre le diamètre d'un objet et sa circonférence, j'utiliserais probablement un flotteur.
Dépend de votre application. Si vous utilisez déjà des flottants pour calculer tout ce qui a rapport avec ce ratio, il serait probablement logique de le stocker comme un flottant.
Mais sinon, les flotteurs sont en général un peu une odeur de base de données. Les administrateurs de base de données ne les aiment pas parce que les inexactitudes de montage signifient que les nombres à virgule flottante sont intrinsèquement incompatibles. Et cela tombe sous le coup de la "C" dans notre bien-aimé ACID.
Les nombres décimaux et les nombres réduits ont au moins un comportement prévisible.
- 1. Utilisez-vous la base de données Scimore SQL?
- 2. Comment stocker un BLOB dans une base de données?
- 3. Comment stocker des données modifiées dans une base de données?
- 4. comment stocker une date dans une base de données mysql?
- 5. Quel type de données utilisez-vous pour les énumérations dans SQL Server
- 6. Utilisez-vous des métadonnées de table pour une instruction select dans SQL Server?
- 7. SQL distinct pour 2 champs dans une base de données
- 8. Horaires hebdomadaires - Comment pouvez-vous stocker cela dans une base de données?
- 9. Comment stocker l'index lucene dans une base de données?
- 10. Comment stocker un vecteur de données de temps/valeur dans une base de données
- 11. SQL: pourcentage de retour sans décimale
- 12. Enregistrement dans une base de données SQL?
- 13. Comment créer et stocker des champs personnalisés définis par l'utilisateur dans une base de données SQL?
- 14. Comment utilisez-vous Machine.config, ou êtes-vous?
- 15. Créer une base de données avec un emplacement de données spécifique dans MySQL pour une base de données
- 16. Avez-vous une notation de modélisation que vous utilisez pour MVC?
- 17. Comment stocker un objet dans une base de données SQLite dans Android?
- 18. C# stocker les paramètres utilisateur dans la base de données
- 19. Requête SQL pour un schéma de base de données
- 20. Liste des helpers HTML que vous utilisez
- 21. Détermination du fichier que vous utilisez
- 22. À quelle fréquence devez-vous compacter une base de données SQL CE?
- 23. Rails: stocker des traductions dans la base de données
- 24. Que devez-vous stocker avec un fournisseur de profil ASP.NET?
- 25. JIRA Plugins: Qu'est-ce que vous utilisez?
- 26. conception de base de données pour stocker un nombre inconnu de lignes dans le tableau
- 27. Qu'est-ce que vous utilisez pour tester le code C?
- 28. Comment faire un journal aussi petit que possible dans une base de données SQL?
- 29. Comment puis-je stocker un horodatage dans une base de données DBM?
- 30. Comment utilisez-vous un partiel dans un modèle de présentation?