Хранение телефонных номеров в базе данных SQL - PullRequest
1 голос
/ 31 января 2011

У меня есть таблица, в которой хранятся номера мобильных телефонов

хранит
страна
сеть
остальное

так, например, мобильный или замаскированный

64 21 8229918  
CC NN XXXXXXX 

Теперь

Страна имеет смысл называться страной
Сеть, которая будет называться Сеть

Но как бы вы назвали остальных?

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

Есть идеи?

также

Код страны состоит только из цифр, и я думаю, что максимум 4?
так что я должен использовать тип int?
То же самое относится и к сети.

а как насчет остальных?

Понятия не имею, как долго это может продолжаться ...

1 Ответ

2 голосов
/ 31 января 2011

Я бы постарался сделать это как можно более простым. Разделяйте только код страны и номер и сохраняйте их как текст. Поскольку разные страны используют разные схемы нумерации , было бы невозможно определить, что такое "сеть" (или что это может даже означать) для каждой страны.

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

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

...