Разработка БД для расчета приза на основе расстояния между городами
Я работаю над сайд-проектом по расчету премии сервиса на основе расстояний между городами.
В моей таблице призов у меня есть значения, как показано ниже:
CATEGORY | DISTANCE | VALUE |
---|---|---|
Category A | < 100 km | 10EUR |
Category A | From 100 km to 300 km | 50 EUR |
Category A | > 300 km | 100 EUR |
Моя идея состоит в том, чтобы подготовить структуру БД, как показано ниже:
CATEGORY | DISTANCE_FROM | DISTANCE_TO | VALUE |
---|---|---|---|
Category A | 0 | 100 | 10 |
Category A | 100 | 300 | 50 |
Category A | 300 | x | 100 |
Правильный ли это подход? Мне также интересно, как впоследствии получить правильное значение, если, например, расстояние составляет 150 км?
Проект будет построен на Django, любая помощь будет оценена по достоинству.
Если вы знаете, что диапазоны расстояний не пересекаются, вы можете использовать только столбец DISTANCE_FROM и найти применимую строку с помощью
SELECT TOP 1
...
WHERE DISTANCE_FROM < 150
ORDER BY DISTANCE_FROM DESC