Я структурирую набор баз данных, которые все взаимосвязаны и содержат информацию друг о друге. Одной из основных функций баз данных является, например, запись путей и конечных точек;
Путь 1 пересекает конечные точки point_1, point_2, point_3, point_4 и point_5 Path_1
= p1-p2-p3-p4-p5
Путь 2 пересекает конечные точки point_1, point_2 и point_5 Path_1
= p1-p2-p5
Структура базы данных:
path_id | start_point | point_1 | point_2 | point_3 | end_point |
--------|-------------|---------|---------|---------|-----------|
1 | p_1 | p_2 | p_3 | p_4 | p_5 |
2 | p_1 | p_2 | | | p_5 |
И так далее...
Моя проблема в том, что я не всегда буду знать, сколько точек он пересечет. Их может быть 5 или больше 15. Как мне структурировать базу данных, чтобы я мог распределять переменное количество баллов? (порядок пути важен)
Чтобы добавить к этому, каждый путь точка-точка также имеет связанный с ним идентификатор. Например, p1-p2
= 0001
и p2-p3
= 0002
Кроме того, как мне структурировать оператор SQL? В какой-то момент я хочу запросить все пути, которые пересекают определенные точки, и если у меня слишком много точек, я боюсь, что не знаю, как создать оператор так долго.
Вероятно, это неправильная настройка базы данных для этих нужд, любые другие предложения приветствуются.
id
иnextId
20.10.2015