Я пытаюсь создать базу данных MySQL для хранения пользовательских настроек почтового индекса для предоставления определенной услуги. Например, пользователь A, который является водопроводчиком, готов отправиться в почтовые индексы x, y и z, чтобы предоставить свою услугу.
Я думал о различных способах реализации этого, и масштабируемость очень важна. Кроме того, я хотел бы иметь соответствие между почтовым индексом и названием города.
Один из способов сделать это - создать огромную таблицу, в которой каждый столбец представляет почтовый индекс, а в каждой строке будет храниться запись пользователя с предпочтениями почтового индекса. Но как я добавляю почтовые индексы и говорю миллионам пользователей, как это будет масштабироваться? Я не думаю, что это будет хорошо масштабироваться, но это просто реализовать.
Другой способ - создать иерархическую структуру, имея первичную таблицу и несколько вторичных таблиц. Удержание вторичных таблиц позволяет, скажем, почтовым индексам округа, и первичная таблица действует как ключ к вторичной. Я думаю, что это будет лучше масштабироваться, поскольку таблицы могут быть распределены, но у меня может быть небольшая избыточность, потому что пользователь может храниться в нескольких таблицах.
В любом случае, я был бы признателен за любые мысли, идеи или альтернативные проекты, которые могли бы помочь мне в этом. Вопрос действительно сводится к тому, как мне это спроектировать и почему?
Обновление:
У меня есть отдельная таблица с информацией о пользователе. Я пытаюсь спроектировать таблицы для предпочтений почтового индекса пользователя.