Программирование

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

Пример использования технологии представлен в статье " SQL и модульное тестирование".

Назначение

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

Работа с датами. MS SQL 2005

Сюда складываю полезные функции, "шпаргалки" и другие тонкие моменты при работе с датами на MS SQL Server.

BETWEEN - закрытый интервал, но будьте вимательны со временем в датах...

Случайная строка из таблицы. MS SQL 2005.

Псевдослучайная последовательность в MSSQL

Использование встроенной функции rand() в запросах чревато проблемой получения последовательности одинаковых чисел. Например

Пронумеровать записи. Пример для MSSQL 2005

Как пронумеровать записи в таблице в одном ее поле по порядку следования другого поля. Пример для MSSQL 2005.

Open System Architect (OSA)

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

Бесплатный, свободно-распространяемый.
http://www.codebydesign.com/

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

ADO SQL Tools (MS Access Query Analyzer)

Инструмент разработки и отладки SQL-скриптов и запросов к базам данных, прежде всего MS Access, через интерфейс доступа ADO. Основные возможности:

Типы соединений в SQL. Шпаргалка

Материал этой заметки послужил основой для одной глав книги "СУБД для программиста. Базы данных изнутри".

Лучше один раз увидеть, чем 100 раз услышать. Для чего служат различные виды соединений таблиц в SQL-запросах проще всего запомнить на практике.

В примере будем использовать две связанные таблицы: контактные лица и компании. Код приведен для MS SQL Server 2000 и выше.

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

Страницы

Subscribe to RSS - Программирование