Каков наилучший способ хранения и получения почтовых адресов с использованием базы данных SQL Server и платформы .NET? - PullRequest
3 голосов
/ 16 сентября 2008

Я ищу общий шаблон, который будет хранить и получать доступ к глобальным адресам в базе данных. Компоненты или другие технологии могут быть использованы. Следующие критерии должны соблюдаться ...

  • Каждая строка адреса сохраняется для каждой страны
  • Почтовые коды проверяются с помощью регулярного выражения перед сохранением
  • Страна оригинала сохраняется в собственном поле. Когда отображаются данные, [адрес отформатирован] (http://en.wikipedia.org/wiki/Postal_address) в стиле этой страны
  • Когда данные вводятся с использованием формы, поля меток являются как можно более описательными, поэтому метки должны быть динамическими для страны происхождения.
  • Адреса занимают минимально возможное пространство

Ответы [ 2 ]

4 голосов
/ 23 июля 2009

Я отошлю вас к моему сообщению в блоге - Урок по хранению адресов по причинам, по которым вы не должны хранить адреса в формате, принятом в настоящее время, и должны быть должным образом нормализованы! Не ленитесь с хранением адресов, в будущем это не вызовет у вас ничего, кроме головной боли!

Кроме того, есть еще один вопрос StackOverflow, который задает этот вопрос. Под названием Как международные географические адреса должны храниться в реляционной базе данных .

0 голосов
/ 16 сентября 2008

Как насчет хранения адресов в виде текста (с разрешением новой строки). Почтовый индекс должен быть извлечен из адреса с помощью регулярного выражения (выбран на основе раскрывающегося списка стран) и должен храниться в отдельном столбце.

Это не относится к требованию "как можно более описательным", но в целом применение большего количества ограничений к формату данных приведет к отклонению процента действительных адресов. Это также займет больше места, чем один столбец varchar. Поэтому всегда будет компромисс между перечисленными вами требованиями.

...