Здравствуйте, как правильно организовать БД. У меня будет таблица, в которой будут хранится промокоды, их количество может очень больших значений, и будет 4 типа промокодов, как организовать их хранение?
Я думал сделать 4 таблицы, для 4 типов промокодов, и в конец протокола добавлять цифру, которая будет обозначать тип промокода. Но если мне нужно вытащить все промокоды по определённому признаку, например user=99 из всех таблиц, то будет 4 запроса, как я понимаю это уже будет не совсем хорошо, как правильно поступить в моей ситуации?
Глеб Старков, Я понимаю что могу так сделать, но я делаю с заделом на будущее, когда количество записей в БД увеличится, и для это спрашиваю мнение, стоит ли делать такое разделение на несколько таблиц в место одной. Так же, будет меньше id в таблицах, что позволит уменьшить длину промокода.
Я бы сделал одну таблицу с промокодами и продумал какие индексы понадобятся исходя из возможных вариантов использования.
Одну таблицу потому что сейчас у вас 4 типа, а потом их может стать больше и ради этого придется добавлять новые таблицы и переписывать запросы?
Кроме этого много таблиц усложнит запросы, особенно там где нужно будет строит отчеты.
Чтобы таблица не сильно разрасталась, для промокодов можно предусмотреть срок жизни и просроченные удалять или переносить в архивную таблицу.