Как вы храните номера мобильных телефонов в базе данных? - PullRequest
18 голосов
/ 24 ноября 2008

С возрастом текстовых сообщений и тому подобного, какой хороший способ хранить телефонные номера в базе данных?

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

Дополнение: Например, люди в США могут использовать 432-342-3333 или 1-432-342-3333, в то время как в Великобритании они могут использовать +44 800 400000 или даже могут пропустить 44. 44 и 1 имеют значение при автоматической отправке смс. Однако проверка номера телефона для каждой страны может стать утомительной. В этом случае, вы бы разбили код страны или слили бы его в один столбец и разбили его там?

Ответы [ 3 ]

28 голосов
/ 24 ноября 2008

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

  1. Номера телефонов имеют широкий диапазон значений, включая добавочные номера, что может привести к потере точности числовых столбцов.
  2. Потеря точности в номере телефона довольно плохо.
  3. Нет логической причины хотеть выполнять математику (сложение / умножение) для номера телефона.

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

14 голосов
/ 24 ноября 2008

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

Не как число !!! Начальные нули могут быть проблематичными.

6 голосов
/ 24 ноября 2008

Не знаю, читали ли вы эти два вопроса, но они могут вам немного помочь.

Возможно, было бы целесообразно сохранить тип номера (стационарный, сотовый, факс) и / или сообщения, которые могут быть получены на нем (голос, текст, электронная почта). Обратите внимание, что в США также можно отправлять текстовые сообщения на телефон по электронной почте, но я считаю, что это зависит от оператора связи.

...