Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2004, 14h31   #1
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Par défaut [Résolu] [Normes] représentation des pourcentages

Existe-t-il une norme de représentation des champs de type pourcentage dans les bases de données?
(Autrement dit, si par exemple vous stockez 88% dans un champ "taux de participation", vous stockez 88 ou bien 0.88 ?)

Quels sont pour vous les avantages de ce format de stockage?
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2004, 14h54   #2
Membre confirmé
 
Avatar de Higgins
 
Inscription : juillet 2002
Messages : 292
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 292
Points : 253
Points : 253
0.88 me parait plus judicieux car pour faire les calculs, tu peux utiliser la valeur directement
exemple:
Code :
1
2
3
 
SELECT monchamp*champpourcent
FROM matable
dans le cas contraire il faudrait une requete du type

Code :
1
2
3
 
SELECT monchamp*champpourcent/100
FROM matable
tu peux également utiliser ce principe pour la TVA ex:1.206 dans le champ TVA
Code :
1
2
SELECT HT*TVA
FROM matable
pour avoir le TTC, encore que dans ce dernier exemple je reconnais que le nom TVA est ambigu puisque normalement TTC=HT+TVA
__________________
"Someone must have said to him: If you work too hard, you can sweat" The Stranglers
Higgins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2004, 15h10   #3
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Es-ce une norme? ou bien une habitude de développement?
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2004, 15h37   #4
Membre confirmé
 
Avatar de Higgins
 
Inscription : juillet 2002
Messages : 292
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 292
Points : 253
Points : 253
En ce qui me concerne, une habitude. Je ne sais pas s'il existe une norme.
__________________
"Someone must have said to him: If you work too hard, you can sweat" The Stranglers
Higgins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2004, 17h24   #5
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Ca tient d'avantage du bon sens que de la normalisation, je pense....

De plus, le pourcentage est un rapport à 100, mais rien n'interdit de conserver 3, 4 ou plus chiffres significatifs, d'où l'intérêt de stocker en décimal.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2004, 14h25   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Le mieux est de définir ce que la norme SQL apelle un DOMAINE et ce que SQL server fait à l'aide des rules et des user types :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
CREATE rule R_D_POURCENT AS @value BETWEEN 0 AND 100 
GO
execute sp_addtype D_POURCENT, 'float'
GO
CREATE DEFAULT D_D_POURCENT AS 0
GO
sp_bindefault D_D_POURCENT, D_POURCENT
GO
execute sp_bindrule R_D_POURCENT, D_POURCENT
GO
Après tu peut utiliser ce nouveau type comme type de base de n'importe quel pourcentage.
Avantage : le performance...

Exemple :
Code :
1
2
3
4
 
CREATE TABLE T_FACTURE
(FAC ID INT,
 FAC_REMISE D_POURCENT)
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie1#L5.4

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2004, 14h42   #7
Membre émérite
 
Homme
Inscription : mars 2002
Messages : 825
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations forums :
Inscription : mars 2002
Messages : 825
Points : 838
Points : 838
Merci d'avoir éclairé ma lanterne.
Pour Fréderic, dommage mais ma base est sous access, donc pas de domaines ou de types de données possibles...

Merci beaucoup!!!
Bowen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h04.


 
 
 
 
Partenaires

Hébergement Web