У меня есть древовидная структура в таблице sql:
CREATE TABLE containers (
container_id serial NOT NULL PRIMARY KEY,
parent integer REFERENCES containers (container_id))
Теперь я хочу определить порядок между узлами с одним и тем же родителем.
Я думал о добавлении столбца node_index
к ORDER BY
, но это кажется неоптимальным, поскольку это включает изменение индекса большого количества узлов при изменении структуры.
Это может включать добавление, удаление, изменение порядка или перемещение узлов из одного поддерева в другое.
Существует ли тип данных sql для упорядоченной последовательности или эффективный способ ее эмулировать? Не нужно быть полностью стандартным SQL, мне просто нужно решение для mssql
и, надеюсь, postgresql
EDIT
Чтобы было ясно, порядок произвольный. На самом деле, пользователь сможет перетаскивать узлы дерева в графическом интерфейсе