SPM (SQL Programming Macroprocessor). Создайте свой предметный язык - 2.
Назначение
Разработка серверного кода на процедурном расширении SQL имеет свои особенности. Во-первых, SQL - декларативный язык, и потому обычная для традиционного программирования функциональная декомпозиция зачастую является неэффективной. Во-вторых, SQL - специализированный язык манипуляции данными, и достичь наглядности и читаемости прикладного кода бывает нелегко.
Обе проблемы могут быть решены введением над SQL макроязыка. А поможет нам в этом достаточно простая утилита SPM (SQL Programming Macroprocessor), основанная на фактически стандартном для UNIX-среды макропроцессоре GNU m4.
ADO SQL Tools (MS Access Query Analyzer)
Инструмент разработки и отладки SQL-скриптов и запросов к базам данных, прежде всего MS Access, через интерфейс доступа ADO. Основные возможности:
- Понимает пакеты из нескольких SQL-команд, разделенных точкой с запятой, одно- и многострочные комментарии.
- Редактирование SQL-файлов с выделением синтаксиса
- Просмотр плана выполнения запроса (только для JET)
- Запуск всего пакета или выделенной на экране части, просмотр результатов
- Сохраняет текущие настройки: соединение с БД, размер окна.
- Сохраняет/восстанавливает соединение с БД из UDL-файла
- Интерфейс командной строки для выполнения пакетов:
ADOSQLCmd.exe <SQL batch file> <UDL file>
SPM или собственный предметный макроязык над процедурным расширением SQL
Внимание
В статье рассказывается о предыдущей версии SPM (1.x). Описание текущей улучшенной и более простой в использовании версии SPM 2 находится здесь.Предыстория
В ходе моих проектов приходилось и приходится писать много серверного кода в виде хранимых процедур и сценариев на процедурном расширении SQL соответствующей СУБД (в основном это MS SQL). К сожалению, при больших объемах такого кода (тысячи и десятки тысяч строк) возникает необходимость в инструменте, который бы мог:
- группировать исходный код в виде файлов и вести проект из нескольких файлов;
- транслировать код на сервер БД с диагностикой возможных ошибок;
- допускать метапрограммирование, то есть использование несложного макроязыка (функциональная декомпозиция в декларативном языке SQL как правило неэффективна прежде всего с точки зрения производительности да и сам T-SQL до выхода версии MS SQL 2000 не допускал функций, определяемых пользователем);
В результате был создан инструмент, получивший название SPM (Stored Procedures Macroprocessor).
DB Stressor. Испытываем производительность БД
О программе
DB Stressor - это инструмент, позволяющий провести испытания ваших баз данных на производительность и устойчивость при многопользовательской работе. Единственным требованием к СУБД является наличие ODBC или OLE DB-драйвера и возможность исполнять сценарии (SQL-скриптов) на собственном расширенном подмножестве SQL и/или его процедурном расширении. Практически все широко распространенные СУБД обладают такими возможностями, например: MSSQL и Sybase ASE (Transact-SQL), Oracle (PL/SQL), InterBase (процедурное расширение), Sybase SQL Anywhere (Watcom-SQL) и многие другие.