Quel est le meilleur moyen de stocker et de récupérer des adresses postales à l'aide d'une base de données de serveur SQL et du framework .NET?

StackOverflow https://stackoverflow.com/questions/70153

Question

Je recherche un modèle commun permettant de stocker et d'accéder aux adresses globales de la base de données. Des composants ou d'autres technologies peuvent être utilisés. Les critères suivants doivent être respectés pour ...

  • Chaque ligne de l'adresse est enregistrée pour chaque pays
  • les codes postaux sont testés avec une expression régulière avant d'être enregistrés
  • Le pays de l'original est enregistré dans son propre champ Lorsque les données sont affichées, l'adresse [est formatée] ( http://en.wikipedia.org/wiki/Postal_address ) à la manière de ce pays
  • Lorsque les données sont saisies à l'aide d'un formulaire, les champs d'étiquette sont aussi descriptifs que possible. Les étiquettes doivent donc être dynamiques pour le pays d'origine.
  • Les adresses occupent le minimum d'espace possible
Était-ce utile?

La solution

Je vous renvoie à mon article de blog - Une leçon dans la mémoire d'adresses pour des raisons qui vous empêchent de stocker les adresses dans le format actuellement accepté et qui doivent être normalisées correctement! Ne soyez pas paresseux avec le stockage d'adresses, cela ne vous causera que des maux de tête à l'avenir!

En outre, il existe une autre question StackOverflow qui pose cette question. Intitulée comment les adresses géographiques internationales doivent-elles être stockées dans un base de données relationnelle .

Autres conseils

Que diriez-vous de stocker les adresses sous forme de texte (autorisant les retours à la ligne). Le code postal devra être extrait de l'adresse avec une expression régulière (sélectionné en fonction du menu déroulant du pays), et devra être stocké dans une colonne séparée.

Cela ne traite pas du "descriptif le plus descriptif possible". En règle générale, si l’on impose davantage de contraintes sur le format des données, un pourcentage d’adresses valides sera rejeté. Il faudra également plus d’espace qu’une seule colonne varchar. Par conséquent, il y aura toujours un compromis entre les exigences que vous avez énumérées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top