Ответ
beerman 08.09.2003 20:37
Согласен, что без большей части того, что я написал можно обойтись, и использование переносимого SQL естественно имеет свои плюсы.
Транзакции действительно нужны только в администрировании. Юнион тоже нужен редко. Мне лично понадобился для получения списка разделов с числом хранящихся в них объектов. В случае с форумом и каталогом ссылок. Но я не согласен с тем, что если авторам нужны хранимые процедуры и подзапросы, то система была спроектирована неверно. Да, для создания одной страницы нужно всего 1-2 join по паре таблиц и столько же селектов, которые можно написать на первый второй день знакомства с SQL. Но ссылочную целостность и процедуры прошу не трогать ;-).
Использование процедур позволяет разделить разные виды кода, использовать более высокий уровень абстракции, что ли, представить сложное действие простым, переложить работу с плеч скрипта на плечи СУБД. Думаю, это вы и так знаете лучше меня. А уж что касается ссылочной целостности, то вот элементарный пример где она была бы полезна.
У меня есть три таблицы: forums, threads, posts. И три класса, управляющие соответственно форумами, темами и сообщениями. Код классов лежит в трех файлах. В MySQL чтобы удалить раздел форума вместе с его темами и сообщениями я использовал два своих класса (три или четыре запроса). Была бы поддержка целостности, хватило бы использования одного класса и одного запроса.
Писать, естественно, нам надо для бесплатных серверов, но я настаиваю на использовании только одной СУБД: либо MySQL, что намного вероятнее, либо PgSQL, что хотелось бы.
Что касается незнания возможностей СУБД и толком возможностей Parsera (опять таки без обид, хотя я сам не претендую на отличное знание ни того ни другого), то это конечно не есть хорошо, но что поделаешь... если долго мучиться, что-нибудь получится. Да и Parser не C++.