Вход для пользователей
Теги
Сбор новостей
RSS-материал
Трансляция в ЖЖ:
[info]arbinada_com

Обмен ссылками

ПМК - программируемые микрокалькуляторы: МК-152, советские, зарубежные   NEXUS - открытая Small ERP по-русски
SCADA. Имитационное моделирование.
Динамические тренажеры оперативного персонала   ФМЛ 366 - лучшая школа в мире :)
Форум - Франция и Мы   Рейтинг@Mail.ru
Яндекс цитирования

SPM (SQL Programming Macroprocessor). Создайте свой предметный язык - 2.

Назначение

Разработка серверного кода на процедурном расширении SQL имеет свои особенности. Во-первых, SQL - декларативный язык, и потому обычная для традиционного программирования функциональная декомпозиция зачастую является неэффективной. Во-вторых, SQL - специализированный язык манипуляции данными, и достичь наглядности и читаемости прикладного кода бывает нелегко.

Обе проблемы могут быть решены введением над SQL макроязыка. А поможет нам в этом достаточно простая утилита SPM (SQL Programming Macroprocessor), основанная на фактически стандартном для UNIX-среды макропроцессоре GNU m4.

Open System Architect (OSA)

Поддерживает проектирование БД и UML.

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) и многие другие.