Я структурирую набор баз данных, которые все связывают и содержат информацию друг о друге. Одна из основных функций баз данных - запись путей и конечных точек, например;Структура Базы данных для неизвестных столбцов
Path 1 крестики конечные точки point_1, point_2, point_3, point_4 и point_5
Path_1
= p1-p2-p3-p4-p5
Path 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? В какой-то момент я хочу запросить все пути, пересекающие определенные точки, и если у меня слишком много очков, я боюсь, что не знаю, как создать заявление так долго.
Это, вероятно, неправильно настройки базы данных для этого необходимо, любые другие предложения приветствуются
Недостаточно OP необходимо сохранить порядок точек в пути (я думаю), поэтому вы можете добавить еще 2 столбца типа 'id' и' nextId' – Alex
Вы правы, хотя не было указано, что это необходимо. Если это так, я предложил добавить столбец «order» (сбросить для каждого path_id). –
@Alex Порядок точек важен, поскольку путь от p_5 до p_3 не совпадает с p_3-p_5 – lomas09