Aslan
> Это как на Clipper и прочем DBase 1980 г вручную ходили по таблицам через NEXTи
> FIND, собирая нужные записи?
не знаю. не знаком.
но NEXT/FIND мало будет. Нужно же ещё управлению паматью (временные таблицы), параллелизм и локи.
upd
skalogryz
> Из плохого версия 3.1 не умеет в decimal. Точнее она умеет но строго в (18,2)!
оказывается при использовании SQLite, все C# decimal, по-умолчанию становятся типаом TEXT!
это просто прекрасно.
произвольно взятой ORM можно доверять лишь с тремя типами: int, float и double. Все остальные типы требуют дополнительных настроек.
skalogryz
> произвольно взятой ORM можно доверять лишь с тремя типами: int, float и double.
> Все остальные типы требуют дополнительных настроек.
Это касается только ублюдочных реализаций серверов, типа sqlite или msaccess. В серьезных серверах доверять можно только когда ты явно указал сколько и чего ты собрался хранить, независимо от платформы, т.е. в прямо противоположном случае.
Aslan
> Это как на Clipper и прочем DBase 1980 г вручную ходили по таблицам через NEXT и FIND, собирая нужные записи?
Ты будешь смеяться, но большинство современных программистов и на transact sql программируют точно также, крутят циклы на имеющемся там недобейсике и перебирают записи по одной. Что операции могут быть групповыми, они не в курсе.
Правда платят таким программистам минимум, а когда они осмеливаются потребовать повышения зарплаты, их за такую дерзость немедленно увольняют, потому как давно хотели уволить, но все откладывали.
Zab
Незнаю, не встречал такого на sql.
А в Interbase SQL есть SUSPEND, можно конструировать произвольный dataset и возвращать из хранимой процедуры
И локов там нет, каждая транзакция создает свои копии изменяемых записей
Aslan
transact sql это микрософтовское изобретение, вариация sql для их ms sql server. Более нигде наверное не встречается. Оно более sql, чем бейсик, но бейсик там тоже есть, добравшись до него многие предпочитают ничего более о базах данных не изучать, все можно сделать процедурно-итеративными методами, которыми они уже владели до этого.
Aslan
Разве сейчас не рулят nosql базы?
Zab
> все можно сделать процедурно-итеративными методами, которыми они уже владели до этого
Видимо потомки тех погроммистов-клипперовщиков :)
Видимо в хранимке в цикле по результату запроса на каждую строчку вызывают новый запрос )
ну это в любой хранимке можно, у мелкософта ничего особенного
Кстати, вот с SQLite так и пришлось считать таблицы поотдельности запросами с order by, а потом обьединять вручную в цикле, а на join с трех таблиц он вис навсегда. База около 20 мег размером, закладки браузера Palemoon
innuendo
> Разве сейчас не рулят nosql базы?
А разве не 1С с sql?
Aslan
> Видимо потомки тех погроммистов-клипперовщиков
У меня был маркетолог, который свои хотелки к отчетам из базы данных формулировал вот так вот в императивном стиле: "ну ты вот пройдись по таблице, сосчитай, сколько там...., потом все повторные удали (из посчитанного), а потом...". Приходилось чуть ли не пытать его, чего он на самом деле хочет, чтоб написать нормальный запрос, а не императивные циклы.
Dmitry_Milk
Ну человек думает императивами, как Кант.
На то ты и тыжпрограммист, чтоб угадывать хотелки клиента
SELECT p.name, COALESCE(SUM(o.sum), 0) as total_sum FROM Partner p LEFT JOIN Operation o ON p.id_part = o.id_part GROUP BY p.id_part, p.name ORDER BY p.name;
Aslan
У 1с есть бигдата?
innuendo
Без понятия, но есть армия фанатов на территории СНГ
Aslan
Если ты просто за 1с то у компании есть куча клиентов и ТД
Вопрос был в nosql
innuendo
Бигдату в основном ворочают на хадупе и спарке. No sql это просто хайповая тема, которая имеет довольно ограниченную применимость в реальности. В большинстве случаев, реляционная БД будет лучше, за исключением некоторых узких случаев.
thevlad
Я имел опыт работы с btrieve или как там она называлась
Давно было лет 17 назад
Очень даже большое число применений