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: