Альтернатива ltree в postgres с космической поддержкой? - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть таблица инвентаря, которая может иметь категорию в виде дерева, например:

Компьютеры-> Компьютеры ПК-> Планшеты-> Apple Electronics-> Компьютеры-> Другие

Для этого модуль ltree выглядит как нельзя лучше.Однако он не может принимать пробелы в именах, например «Personal Computers.Apple».

Это для ввода конечным пользователям, поэтому вынудить их сделать все без пробелов не идеальным.

Я жестко использую обычные НРАВИТСЯ 'Персональные компьютеры *', но удивляюсь, если существует альтернатива этому ...

Я построю иерархию, основанную на информации этого поля.Я не хочу строить другую таблицу для описания иерархии, потому что в моей системе поле категории почти плоское, глубина - маленькая, и я думаю, что она более удобна для пользователя.

1 Ответ

1 голос
/ 09 декабря 2011

Я склонен использовать целочисленные или текстовые массивы, упорядоченные для представления иерархической структуры ваших данных.Я обычно управляю полем массива через триггеры таблицы.

Что-то вроде parent_node INTEGER, node_tree INTEGER[] в вашей схеме таблицы должно быть достаточно.

...