[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Минималистичный инструмент для организации хранения структуры данных "многие ко многим"



Dmitry Alexandrov -> debian-russian@lists.debian.org  @ Mon, 26 Feb 2018 18:52:50 +0300:

 >>  >>>     4. Возможность сразу без допилов получать репорты по связанным
 >>  >>> данным. Т.е. груши любят: Петя, Вася, Таня ; Петя любит: яблоки, груши, Таню.
 >>
 >>  >> Вроде бы нашел, что искал - GNU recutils.
 >>
 >>  > В каком смысле?  Там нет ничего, что можно было назвать «поддержкой
 >>  > структур многие-ко-многим».
 >>
 >> Я сильно подозреваю, что в том же смысле, что у обычных реляционных баз,
 >> которые тоже специальной поддержки для них не имеют. Джойны-то есть...
 >>
 >> Хотя если говорить о человеко-читаемом формате, то оно бы должно уметь
 >> из
 >>
 >> Имя: Петя
 >> Любит: яблоки, груши, Таню
 >>
 >> Название: груши
 >> Любят: Вася, Таня

 > Конкретно в rec прямо запрещены нелатинские имена.

В 2018 году? Сильны граждане...

 >> делать вывод, что груши любят Петя, Вася, и Таня.

 > Я же таки первым делом, как вопрос прочел, пошел проверять не научились ли в
 > такое GNU Recutils.  :-) Посмотрел — нет.  Плохо искал?  А допилить-то,
 > конечно, несложно, но товарищ просил готовое.

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

 > Дык я про то и говорю, что не предусмотрено в формате rec такой
 > метаинформации.  Соответсвенно и recsel(1)’у нельзя дать такого приказа.  Ему
 > вообще сейчас нельзя дать приказа типа:

 > $ recsel -e 'name = "Вася"' -P likes -e 'liked_by = "Вася"' -P name

 > Только в два прохода:

 > $ recsel -e 'name = "Вася"' -P likes
 > $ recsel -e 'liked_by = "Вася"' -P name

 > Что, конечно, безобразие.

Ну, тогда это негодный тул.


Reply to: