Для получения корзины покупок я хочу создать базу данных почтовых индексов, куда может отправить мой перевозчик.Диапазон против списка почтовых индексов для поиска?
У меня может быть несколько носителей, поэтому я ищу гибкое решение. И есть 2 способа оплаты - ХПК (наличные) и предоплаченные (нетто-банковские).
Список почтовых индексов доставки от одного из перевозчиков имеет 2775 записей для метода ХПК и 4 139 записей для предоплаченной оплаты.
Дизайн # 1 (Благодаря этому answer)
преобразовать прямой список для диапазонов (например, {1,2,3,5,8,9} => {(1,3), (5 , 5), (8,9)}), и имеют схемы -
carrier
id(int) | name (varchar)
cod_zipcodes
start(int) | end(int) | carrier(fk::carrier.id)
prepaid_zipcodes
start(int) | end(int) | carrier(fk::carrier.id)
на преобразовании в диапазонах предоплаченный Почтовые индексы сократилась до 1,593 (38%) и трески Почтовые индексы сократилась до 842 (30%).
Дизайн # 2
cod_zipcodes
zipcode(int)
prepaid_zipcodes
zipcode(int)
В основном это дизайн просто есть список, как это. Если есть несколько носителей, я объединяю список. Поэтому я теряю информацию, которую перевозчик отправляет для определенного почтового индекса. Но это не проблема (но если она будет разобрана, это тоже не проблема!). Я просто хочу найти базу данных, что zipcode, введенный клиентом, находится в нашем разрешенном списке.
У меня ограниченный опыт работы с базами данных в реальном времени. Пожалуйста, укажите, какой дизайн лучше, или предложите свой собственный.
Спасибо!
Будучи тем, что '1' не является почтовым индексом, у вас есть таблица почтовых индексов? И что '1' на самом деле просто ключ к этой таблице? Если да, то эта таблица zip-кода постоянно фиксируется или могут быть добавлены или удалены zip-коды из этой таблицы? И я предполагаю, что id id auto_increment, что означало бы, что новый zip-код не вставлен с идентификатором, близким к zip-кодам, которые похожи на него? – MatBailie
@ Dems: В настоящее время у меня есть только 2 текстовых файла с почтовыми индексами, по одному на каждой строке. В вопросе я только что привел пример, чтобы показать, как я строю диапазоны. Список zip-кодов для носителя может измениться, но нечасто. Но тогда мы можем добавить или переключить носителей, опять же это должно быть редко. да id в дизайне 1 - это автоматическое увеличение. –