Каков наилучший способ хранения и получения почтовых адресов с использованием базы данных сервера sql и платформы .NET?
-
09-06-2019 - |
Вопрос
Я ищу общий шаблон, который будет хранить глобальные адреса и получать к ним доступ в базе данных.Могут быть использованы компоненты или другие технологии.Необходимо соблюдать следующие критерии...
- Каждая строка адреса сохраняется для каждой страны.
- Почтовые индексы перед сохранением проверяются с помощью регулярного выражения
- Страна оригинала сохраняется в отдельном поле. При отображении данных [адрес форматируется] (http://en.wikipedia.org/wiki/Почтовый_адрес) в стиле той страны
- Когда данные вводятся с использованием формы, поля меток максимально информативны, поэтому метки должны быть динамическими в зависимости от страны происхождения.
- Адреса занимают минимально возможное пространство.
Решение
Я отсылаю вас к моему сообщению в блоге - Урок хранения адресов по причинам, почему ты не должен храните адреса в принятом в настоящее время формате и должны быть правильно нормализованы!Не ленитесь с хранением адресов, в будущем это не доставит вам ничего, кроме головной боли!
Кроме того, есть еще один вопрос StackOverflow, в котором задается этот вопрос.Уполномоченный Как следует хранить международные географические адреса в реляционной базе данных.
Другие советы
Как насчет сохранения адресов в виде текста (с возможностью перевода строки).Почтовый индекс необходимо извлечь из адреса с помощью регулярного выражения (выбирается на основе раскрывающегося списка стран) и сохранить в отдельном столбце.
Это не касается требования «настолько описательного», но в целом введение дополнительных ограничений в отношении формата данных приведет к отклонению определенного процента действительных адресов.Это также займет больше места, чем один столбец varchar.Поэтому всегда будет компромисс между перечисленными вами требованиями.