Я пытаюсь понять, существуют ли какие-либо стандартные подходы наилучшей практики для моделирования диапазонов чисел в реляционной базе данных (в данном случае MySQL) и действительно ли это разумная вещь.
Iобъясню задачу, которая поставила вопрос для контекста.
В настоящее время я нахожусь в процессе разработки базы данных, которая будет моделировать распределение пула идентификаторов для клиентов.
Пул потенциальных Идентификаторов имеет диапазон от 0 до примерно 2 ^ 30
Заданному клиенту может быть выделено любое количество Идентификаторов от одного Идентификатора до миллионов в нескольких смежных блоках.
Данный Идентификатор может быть назначен только одному клиенту (т. Е. Это отношение один ко многим)
Очевидно, что будет таблица Customer и таблица идентификаторов, содержащая ключ Customer.
Сложность заключается в том, как смоделировать Идентификаторы:
Первый вариант - строка, представляющая один идентификатор.Это приведет к потенциально большому количеству строк в таблице, но сделает поиск того, кому принадлежит какой идентификатор, и используется ли данный идентификатор, тривиально.
Второй (и я думаю, более перспективный) вариант заключается в том, чтобы строка представляла диапазон значений с минимальным и максимальным значением.Это сделало бы запросы немного более сложными (я предполагаю, что запрос для проверки, использовался ли идентификатор, будет запрашивать диапазоны с «Минимум ниже X» и «Максимум выше X»), но приведет кменьше строк и, вероятно, будет проще управлять и обновлять.
Я бы приветствовал любые мнения о том, является ли это хорошим подходом, а если нет, то если есть очевидный лучший подход, который мне не хватает.