Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  code postal stocké en CHAR ou INT ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

code postal stocké en CHAR ou INT ?

n°287514
Batman-Fr
powered by caféine
Posté le 16-01-2003 à 12:20:02  profilanswer
 

:hello:
 
je suis en train de créer les structures de tables d'une bdd sous MS SQL Server.
 
J'ai un champ code postal tout ce qu'il y a de plus banal.
 
Cependant, ce champ est codé sur 5 caracteres mais est entierement numerique : 2 "possibilites" s'offrent donc à moi :
 
1/ je le code en char sur 5 caracteres
2/ je le code en int (car smallint va de -32768 à +32767)
 
quelle est la meilleure solution ?
 
Mes connaissances en SGBD etant plutot rudimentaire, j'en viens a me poser une autre question + generale : l'interet du type INT ? pourquoi ne pas tout stocker en CHAR ?
 
qu'en pensez-vous ?


Message édité par Batman-Fr le 16-01-2003 à 12:20:19

---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
mood
Publicité
Posté le 16-01-2003 à 12:20:02  profilanswer
 

n°287560
avander
Posté le 16-01-2003 à 12:55:16  profilanswer
 

Généralement tous les int dans la plage -32768 à +32767 sont toujours stocké sur 2 octets alors qu'en varchar '12345' va prendre 5 octets minimum!
 
varchar = plus souple car peut contenir données alpha ( càd. lettres/chiffres), indiqué pour les pays qui ont des cp mixte (ex. Anglettere).
 
int = que des entiers dans la plage que tu connais déjà, pour la France tu dois être sur que le cp tient dedans ( ce qui n'est probablement pas le cas...).  
 
 
Avander


---------------
A thing of beauty is a joy forever (John Keats)
n°287594
tomlameche
Et pourquoi pas ?
Posté le 16-01-2003 à 13:24:56  profilanswer
 

Batman-Fr a écrit :

:hello:
 
je suis en train de créer les structures de tables d'une bdd sous MS SQL Server.
 
J'ai un champ code postal tout ce qu'il y a de plus banal.
 
Cependant, ce champ est codé sur 5 caracteres mais est entierement numerique : 2 "possibilites" s'offrent donc à moi :
 
1/ je le code en char sur 5 caracteres
2/ je le code en int (car smallint va de -32768 à +32767)
 
quelle est la meilleure solution ?
 
Mes connaissances en SGBD etant plutot rudimentaire, j'en viens a me poser une autre question + generale : l'interet du type INT ? pourquoi ne pas tout stocker en CHAR ?
 
qu'en pensez-vous ?


Il faut voir aussi de quel façon l'information doit être restitué : par exemple, si la base est utilisée pour générer des couriers, si ton code postal est déjà en char(5), cela évitera de rajouter un "0" devant les codes postaux de l'Ain par exemple ...


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°287626
Sebastien
Posté le 16-01-2003 à 14:04:07  profilanswer
 

On m'a souvent conseillé de prendre du char pour toutes données numerique qui ne servent pas à faire des calculs.

n°287628
western
AJMM
Posté le 16-01-2003 à 14:08:07  profilanswer
 

Un peu de logique: les nombres (dont les entiers) sont là/utiles pour faire des maths ... or il n'est pas logique de multiplier, diviser, soustraire, etc. les codes postaux, donc je ne vois pas pour quelle raison, un code postal doit être de type int (C'est-à-dire que l'utilisation d'un tableau des chars est plus logique)

n°287662
BifaceMcLe​OD
The HighGlandeur
Posté le 16-01-2003 à 14:57:39  profilanswer
 

tomlameche a écrit :


Il faut voir aussi de quel façon l'information doit être restitué : par exemple, si la base est utilisée pour générer des couriers, si ton code postal est déjà en char(5), cela évitera de rajouter un "0" devant les codes postaux de l'Ain par exemple ...  


Voire un double zéro sur les codes postaux spéciaux (genre 00493 ARMEES)

n°287972
Batman-Fr
powered by caféine
Posté le 17-01-2003 à 00:14:48  profilanswer
 

western a écrit :

Un peu de logique: les nombres (dont les entiers) sont là/utiles pour faire des maths ... or il n'est pas logique de multiplier, diviser, soustraire, etc. les codes postaux, donc je ne vois pas pour quelle raison, un code postal doit être de type int (C'est-à-dire que l'utilisation d'un tableau des chars est plus logique)


 
c'est ce type de reponse que j'attendais  
 
merci a vous tous d'avoir participe a ce topic et de m'avoir ainsi eclaire un peu plus sur tout ca :jap:
 
 :hello:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°288075
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-01-2003 à 09:53:25  profilanswer
 

Fais gaffe si tu dois pouvoir mettre des adresses d'autres pays :o Y a des codes postaux plus longs, et d'autres qui ont des lettres :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°288086
TBone
Pouet.
Posté le 17-01-2003 à 10:08:37  profilanswer
 

faut faire gaffe avec les codes postaux!
 
si tu dois gérer des codes postaux internationaux ça devient compliquos...
 
ex. au Luxembourg les codes postaux sont codés: Lxxxx où x est un chiffre (0->9) et ça commence tjs pas 'L'
 
ex. 2: tjs au Luxembourg, les codes postaux ne réfère pas à une ville mais une à un quartier administratif ! (-> j'habite dans un "L4251" tandis que l'entreprise dans laquelle je bosse, qui est dans la même ville mais 4 rues plus loin, c'est "L4221" )
 
ex. 3: pas toujours de chiffres, au Maroc le code postal de Rabat est "CYM".
 
désolé de te compliquer l'affaire ;)
(quoique si tu ne gères que les adresses françaises, tu es tranquille.)


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°288143
Batman-Fr
powered by caféine
Posté le 17-01-2003 à 11:07:22  profilanswer
 

non, uniquement des CP français  [:prosterne]  
 
si j'avais dû gérer des CP internationaux, j'aurais bien sûr opté dès le départ pour un type CHAR ;)
 
'vais peut etre m'acheter un bouquin moi  :D


Message édité par Batman-Fr le 17-01-2003 à 11:07:31

---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
mood
Publicité
Posté le 17-01-2003 à 11:07:22  profilanswer
 

n°288147
C17
-$$ W A N T E D $$-
Posté le 17-01-2003 à 11:09:37  profilanswer
 

Sébastien a écrit :

On m'a souvent conseillé de prendre du char pour toutes données numerique qui ne servent pas à faire des calculs.


 
 :jap:  
 
Utilises des Char! c'est mieux :hello:


---------------
C17
n°290491
instantdha​rma
Ailleurs c'est ici
Posté le 21-01-2003 à 09:17:25  profilanswer
 

Western l'a dit très clairement :

Citation :


Un peu de logique: les nombres (dont les entiers) sont là/utiles pour faire des maths ... or il n'est pas logique de multiplier, diviser, soustraire, etc. les codes postaux, donc je ne vois pas pour quelle raison, un code postal doit être de type int (C'est-à-dire que l'utilisation d'un tableau des chars est plus logique)


Il s'agit de codes postaux et non de nombres postaux, donc, utiliser un char(5) et blinder le code avec des zéros à gauche. Nice, c'est 06000. D'ailleurs, on n'écrit jamais un nombre avec un zéro devant, pour se cadrer sur une longueur exprimée en nombre de caractères...
Pour la Corse, 2A et 2B donnent 17 et 18 ou 18 et 19...
En fait, la complexité apparaît si on souhaite modéliser proprement des adresses ; se renseigner auprès de la poste.


---------------
di. / www.diredaredare.org - Ailes de la ville

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  code postal stocké en CHAR ou INT ?

 

Sujets relatifs
code pour lancer l'execution d' un programme externe[résolu] popup ou bulle d'info intégré au code de la page html
test de primalité : erreur dans le codeligne de code pour créer un fichier ? (quick-basic)
[SQL] conversion char -> int[PHP] pour afficher du code sans qu'il soit interpreté ?
Ou est lebug sur cette miniligne de code ?Comment recupérer le code d'une liste deroulante?
problème étrange lors de la génération de mon code HTMLCode d'erreur sous C++ builder ( borland)
Plus de sujets relatifs à : code postal stocké en CHAR ou INT ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR